站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Netbeans 专题NetBeans IDE 5.0 HTML Editor 教程

NetBeans IDE 5.0 HTML Editor 教程

摘要: NetBeans IDE 5.0 HTML Editor 教程 反馈 本教程演示了如何不使用任何 Java 编码来构建 HTML 编辑器。您创建的 HTML 编辑器是一个“在 NetBea...
NetBeans IDE 5.0 HTML Editor 教程

反馈

本教程演示了如何不使用任何 Java 编码来构建 HTML 编辑器。您创建的 HTML 编辑器是一个“在 NetBeans 平台上”构建的富客户端应用程序。这意味着 IDE 的核心,也就是 NetBeans Platform,将是您应用程序的基础。在 NetBeans Platform 上,您添加所需的插件模块,并且排除 IDE 需要但您的应用程序不需要的插件模块。下面您将看到一些添加到 NetBeans Platform(您应用程序的基础)的 IDE 的插件模块:

您将看到构建过程是多么容易、多么简单,更确切地说是在 NetBeans Platform 上组装一个功能全面的应用程序。最后,将向您介绍如何使最终产品能方便地下载,以及如何使用 WebStart 启动。

注意: 即使 NetBeans Platform 是一个独立的产品,也不需要为了学习本教程而单独下载它。您将在 IDE 中开发富客户端应用程序,然后排除特定于 IDE,但对于您的应用程序来说多余的插件模块。

本教程将介绍以下主题:

安装完软件之后,本教程可以在 20 分钟之内完成。

有关使用模块的详细信息,请参阅 NetBeans 网站上的 NetBeans Development Project 主页。如果有问题,请访问 NetBeans Developer FAQ 或使用本页顶部的反馈链接。


入门

开始之前,需要在您的计算机上安装以下软件:


使用示例

尽管这个非常简单的演示程序,但请您认真对待。它是支持轻松编辑 HTML 页面的真正程序,还具有代码完成、验证和预定义的 HTML 片段。要启动编辑器,请确保在您的计算机上启用了 Java 和 WebStart,然后单击以下链接:

启动 NetBeans HTML Editor

处理 WebStart 并出现程序启动画面之后,您将看到 HTML 编辑器:

获取源

如此多的终端用户功能。现在,让我们看看运行这个演示程序的代码。源代码位于 NetBeans CVS 存储库中,可以签出或在线浏览。学习源代码最好的方法是:

    cvs -d :pserver:anoncvs@cvs.netbeans.org:/cvs login
    cvs -d :pserver:anoncvs@cvs.netbeans.org:/cvs co contrib/sampleapps/htmleditor

拥有源代码之后,在 NetBeans IDE 5.0 中打开该项目。打开项目之后,您可能需要使用 Project Properties 对话框设置 NetBeans IDE 的右侧位置以使项目可编译。

整个源大约由 30 个文件组成,包括构建脚本、属性文件、图像,这些文件大部分都是由 NetBeans IDE 5.0 插件模块开发支持自动生成的。创建 HTML 编辑器不需要大量的工作,因为它不是从头开始编写,而是重新使用了 NetBeans IDE 5.0 提供的大量现有组件。因此,无需编写任何代码,您就可以获得非常复杂而有竞争力的应用程序。

知道了最终结果后,将从头开始组装 HTML 编辑器,并且学习如何使它通过 Webstart 最优启动。


组装 HTML Editor

创建 HTML 编辑器意味着生成应用程序主干,排除您不需要的模块和用户界面项目,然后将 Favorites 窗口设置为 IDE 启动时默认打开的窗口。NetBeans IDE 5.0 中的用户界面元素都支持所有这些活动。

生成主干应用程序

  1. 使用 New Project 向导 (Ctrl-Shift-N),从 NetBeans Plug-in Modules 类别中的模板创建 Module Suite Project。
  2. 在模块套件的 Project Properties 对话框中进行少量更改:
    • 在 Application 面板中,指定它将成为 Standalone Application。当询问您是否想排除 NetBeans IDE 模块时,单击 Skip。HTML 编辑器将需要几个 IDE 的模块,将不需要其他模块。下一步将排除这些多余的模块。确保为可执行文件添加了标记名称,为标题栏添加了应用程序标题,如下所示:

    • 在 Splash Screen 面板中,提供应用程序的程序启动画面,如下所示:

      如果您没有程序启动画面,请使用这个

    • 选择模块套件的 Libraries 面板中需要的模块子集。这里,需要选中的唯一群集是 ide6platform6。在 platform6 群集中,只有屏幕截图中的模块需要选中,而在 ide6 中,这个屏幕截图和这个屏幕截图显示所需的模块。

      因此,在 platform6 中选中的模块如下:

      Actions APIs
      Bootstrap
      Core
      Core - Execution
      Core - UI
      Core - Windows
      Datasystems API
      Dialogs API
      Execution API
      Explorer and Property Sheet API
      Favorites
      File System API
      General Queries API
      I/O APIs
      JavaHelp Integration
      Look & Feel Customization Library
      Master Filesystem
      Module System API
      Nodes API
      Output Window
      Progress API & UI
      Settings API
      Settings Options API
      Startup
      Tab Control
      Text API
      UI Utilities API
      Utilities API
      Window System API

      ide6 中,确保选中以下模块:

      Core - Component Palette
      Editor
      Editor Code Completion
      Editor Code Folding
      Editor Code Templates
      Editor Hints
      Editor Library
      Editor MIME Lookup
      Editor Settings
      Editor Settings Storage
      Editor Utilities
      Error Stripe API
      Error Stripe Core
      Experimental Search API
      HTML
      HTML Editor
      HTML Editor Library
      Image
      Plain Editor
      Plain Editor Library
      Project API
      Project UI API
      Tags Based Editors Library
      User Utilities

完成该步之后,该应用程序应该既可以作为独立应用程序启动,而且也应该可以作为 Web 可启动的应用程序启动。在 Projects 窗口中,右键单击项目,选择 Run 可运行该富客户端应用程序,或者选择 Run JNLP Application 将其作为 Web 可启动的应用程序运行。

修改用户界面

您可以根据需要保留或拒绝 IDE 的用户界面。您的 HTML 编辑器可能并不需要 Tools 菜单下的一些项目或所有项目。同样,您也可能不需要一些工具栏或工具栏按钮。本部分中,您将修改 IDE 的用户界面,只留下对您的富客户端应用程序有用的子集。

  1. 使用 New Project 向导 (Ctrl-Shift-N),在 NetBeans Plug-in Modules 类别中选择 Module Project 模板。在 Name and Location 面板中,确保将模块项目添加到您在上一部分中创建的模块套件项目中。
  2. 在 Important Files 节点中,展开 XML Layer 节点。显示两个子节点:

    <this layer in context> 节点中,IDE 显示所有虚拟文件的合并视图,所有模块在其层中注册。要排除项目,请右键单击这些项目,然后选择“Delete”,如下所示:

    然后,IDE 向插件模块的 layer.xml 文件中添加标签,当安装插件模块时将隐藏您已删除的项目。例如,通过右键单击 Menu Bar/Edit,您可以移除 HTML Editor 不需要的菜单项。于是便生成了一些代码片段,如 layer.xml 文件中的以下片段:

    <folder name="Menu">
        <folder name="Edit">
            <file name="org-netbeans-core-actions-JumpNextAction.shadow_hidden"/>
            <file name="org-netbeans-core-actions-JumpPrevAction.shadow_hidden"/>
        </folder>      
    </folder>

    上面代码片段的结果是,另一个插件模块提供的 JumpPrevActionJumpNextAction 操作从菜单中被您创建的插件模块移除。

  3. 使用上一步中介绍的方法,根据需要隐藏工具栏、工具栏按钮、菜单和菜单项。

调整窗口布局

使用 <this layer in context> 节点,您不仅仅可以删除现有项目,还可以更改其内容。例如,HTML 编辑器在 HTML 文件上工作,因此与常规的 IDE 相比,HTML 编辑器可以与 Java 源文件和项目更好的合作,从而在初始布局中显示 Favorites 窗口很重要。

窗口布局的定义也作为层中的文件介绍,所有这些文件都存储在 Windows2 文件夹下。Windows2 文件夹中的文件是 Window 系统 API 定义的伪人类可读 XML 文件。它们非常复杂,但由于是 HTML 编辑器,所以没有必要全部理解它们,如下所示。

  1. 右键单击 Windows2 节点,然后选择 Find。
  2. 搜索名为 Favorites 的对象,忽略大小写。

    您将找到两个文件:

    Windows2/Components/favorites.settings
    Windows2/Modes/explorer/favorites.wstcref
    

    第一个文件定义组件的外观以及创建的方式。由于不需要更改外观及创建方式,因此也不需要修改该文件。第二个文件对您的意义较大,它包含以下内容:

    <tc-ref version="2.0">
        <module name="org.netbeans.modules.favorites/1" spec="1.1" />
        <tc-id id="favorites" />
        <state opened="false" />
    </tc-ref>

  3. 尽管大多数 XML 的含义都很模糊,但是不需要读取任何文档似乎也能看懂其中的一行,将 false 更改为 true 很可能会在默认情况下打开该组件。的确,重新启动应用程序之后,默认情况下已打开 Favorites 选项卡。
  4. 采用相似的方法,您可以更改 Component Palete 使它在默认情况下打开。
  5. 接下来,由于您覆盖的是 Core - Component Palette 模块和 Favorites 模块,因此您需要为这些模块创建运行时依存关系。右键单击 Projects 窗口中的模块项目,选择 Properties,在 Libraries 面板中选择您需要重写的两个模块:

    现在,打开 Important Files 节点中的 Project Metadata 文件。注意到已经声明了这两个模块依村关系,如下所示:

    <dependency>
      <compile-dependency/>
      <build-prerequisite/>
      <run-dependency>
      ...
      </run-dependency>
    <dependency>

    由于您的项目中没有 Java 类,因此,如果有编译依村关系和构建先决条件时构建项目,将生成构建错误。通过手动删除 <compile-dependency><build-prerequisite> 标记可以防止出现该问题。但是,由于您是在运行时重写这些模块,所以需要保留 <run-dependency> 标记。


通过共享的 NetBeans JNLP 存储库分发 HTML Editor

最后,让我们稍微调整一下第一次启动应用程序时生成的 master.jnlp 文件。即使已经完成了这个工作,分发准备工作也还没有结束。至少您需要更改信息部分以提供更好的描述和图标。

对标准 JNLP 基础架构所进行的另一个更改是在 www.netbeans.org 上使用共享的 JNLP 存储库。默认情况下,为套件生成的 JNLP 应用程序始终包含其所有模块,以及它所依赖的所有模块。这对于企业内部互联网使用可能很有用,但是它对于大多数广泛的 Internet 使用不太现实。当在 Internet 上时,如果在 NetBeans Platform 上构建的所有应用程序都参考 NetBeans 模块的一个存储库,它可能更好,这意味着可以共享这些模块,而不需要多次下载。

NetBeans 5.0 有这样的存储库。它不包含 NetBeans IDE 拥有的所有模块,例如不是 JNLP ready 的 ant 模块,但是它包含一些足以使非 IDE 应用程序非常类似 HTML 编辑器的模块。要使用存储库,您只需通过添加正确的 URL 来修改 platform.properties

# share the libraries from common repository on netbeans.org
# this URL is for release50 JNLP files:
jnlp.platform.codebase=http://www.netbeans.org/download/5_0/jnlp/

只要应用程序作为 JNLP 应用程序启动,就可以从 netbeans.org 下载其所有共享插件模块并与执行相同操作的其他应用程序共享。


下一步

现在,您已经学习了很多技巧,而且能够运行在 NetBeans Platform 上构建的应用程序,您还要再多看看 XML Layer 节点的子节点。如果您还没有做这些工作,则可以继续微调应用程序,修改和调整应用程序,直到您获得了想要的强健、简单的应用程序。接下来,您将发现向应用程序中添加自己的插件模块是多么容易。Tutorials for NetBeans Module (Plug-in) and Rich Client Application Development 向您演示了各种扩展 HTML 编辑器的使用示例。例如,您可能想在菜单栏中添加您自己的菜单项。或者您可能想在组件调色板中提供其他 HTML 片段。本教程的“模块开发者资源”中将介绍这些方案以及更多方案。

还要看看 NetBeans IDE 5.0 富客户端应用程序快速入门指南,该指南向您介绍如何创建自己的绘图应用程序。最后,NetBeans IDE 5.0 FeedReader 教程中提供了稍微复杂一些的应用程序。





↑返回目录
前一篇: NetBeans IDE 5.0 Rich-Client Application 快速入门指南
后一篇: NetBeans(富客户端)Platform 的功能