当前页面: 开发资料首页 → Netbeans 专题 → NetBeans IDE 5.0 HTML Editor 教程
摘要: NetBeans IDE 5.0 HTML Editor 教程 反馈 本教程演示了如何不使用任何 Java 编码来构建 HTML 编辑器。您创建的 HTML 编辑器是一个“在 NetBea...
本教程演示了如何不使用任何 Java 编码来构建 HTML 编辑器。您创建的 HTML 编辑器是一个“在 NetBeans 平台上”构建的富客户端应用程序。这意味着 IDE 的核心,也就是 NetBeans Platform,将是您应用程序的基础。在 NetBeans Platform 上,您添加所需的插件模块,并且排除 IDE 需要但您的应用程序不需要的插件模块。下面您将看到一些添加到 NetBeans Platform(您应用程序的基础)的 IDE 的插件模块:
您将看到构建过程是多么容易、多么简单,更确切地说是在 NetBeans Platform 上组装一个功能全面的应用程序。最后,将向您介绍如何使最终产品能方便地下载,以及如何使用 WebStart 启动。
注意: 即使 NetBeans Platform 是一个独立的产品,也不需要为了学习本教程而单独下载它。您将在 IDE 中开发富客户端应用程序,然后排除特定于 IDE,但对于您的应用程序来说多余的插件模块。
本教程将介绍以下主题:
有关使用模块的详细信息,请参阅 NetBeans 网站上的 NetBeans Development Project 主页。如果有问题,请访问 NetBeans Developer FAQ 或使用本页顶部的反馈链接。
开始之前,需要在您的计算机上安装以下软件:
尽管这个非常简单的演示程序,但请您认真对待。它是支持轻松编辑 HTML 页面的真正程序,还具有代码完成、验证和预定义的 HTML 片段。要启动编辑器,请确保在您的计算机上启用了 Java 和 WebStart,然后单击以下链接:
处理 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 编辑器意味着生成应用程序主干,排除您不需要的模块和用户界面项目,然后将 Favorites 窗口设置为 IDE 启动时默认打开的窗口。NetBeans IDE 5.0 中的用户界面元素都支持所有这些活动。
如果您没有程序启动画面,请使用这个。
因此,在 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 的用户界面,只留下对您的富客户端应用程序有用的子集。
在 <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>
上面代码片段的结果是,另一个插件模块提供的 JumpPrevAction 和 JumpNextAction 操作从菜单中被您创建的插件模块移除。
使用 <this layer in context> 节点,您不仅仅可以删除现有项目,还可以更改其内容。例如,HTML 编辑器在 HTML 文件上工作,因此与常规的 IDE 相比,HTML 编辑器可以与 Java 源文件和项目更好的合作,从而在初始布局中显示 Favorites 窗口很重要。
窗口布局的定义也作为层中的文件介绍,所有这些文件都存储在 Windows2 文件夹下。Windows2 文件夹中的文件是 Window 系统 API 定义的伪人类可读 XML 文件。它们非常复杂,但由于是 HTML 编辑器,所以没有必要全部理解它们,如下所示。
您将找到两个文件:
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>
现在,打开 Important Files 节点中的 Project Metadata 文件。注意到已经声明了这两个模块依村关系,如下所示:
<dependency> <compile-dependency/> <build-prerequisite/> <run-dependency> ... </run-dependency> <dependency>
由于您的项目中没有 Java 类,因此,如果有编译依村关系和构建先决条件时构建项目,将生成构建错误。通过手动删除 <compile-dependency> 和 <build-prerequisite> 标记可以防止出现该问题。但是,由于您是在运行时重写这些模块,所以需要保留 <run-dependency> 标记。
最后,让我们稍微调整一下第一次启动应用程序时生成的 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 教程中提供了稍微复杂一些的应用程序。