快速业务通道

NetBeans NetBeans 平台 6.8快速入门教程 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16

NetBeans NetBeans 平台 6.8快速入门教程

时间:2011-07-28 netbeans.org Sailing

NetBeans 平台的主要优点是其模块化体系结构。其他优点还有 NetBeans 平台所依赖的 Swing UI 工 具包(使用 Java 创建用户界面的正式工具包)以及 NetBeans IDE 屡获殊荣的 "Matisse" GUI 生成器 。

在本快速入门教程中,我们将通过一个非常简单的示例向您介绍模块化的优点和使用情况,此示例由 目前就读于奥地利林茨市 Johannes Kepler 大学的博士生 Thomas Würthinger 提供。在了解本快速入门 教程中所介绍的概念后,您便可以参阅 NetBeans 平台学习资源,其中为许多与 NetBeans 平台相关的不 同方案提供了各种非常丰富的教程。

如果您不熟悉 NetBeans 平台,强烈建议您观看截屏视频系列 Top 10 NetBeans APIs(最主要的 10 个 NetBeans API)。

目录

包含单个模块的 NetBeans 平台应用程序

使用 Lookup 的模块化应用程序

LookupListener 和 InstanceContent

要学习本教程,您需要具备下表中列出的软件和资源。

软件或资源 要求的版本
NetBeans IDE 6.7 或更高版本
Java Developer Kit (JDK) 版本 6 或 版本 5

注意:虽然 NetBeans 平台是一个独立的产品,但无需单独下载该平台。通常, 您可以在 NetBeans IDE 中开发应用程序,然后排除特定于 IDE 但对应用程序来说是多余的模块。

包含单个模块的 NetBeans 平台应用程序

首先,我们只是创建一个包含单个模块的新 NetBeans 平台应用程序。

选择“文件”|“新建项目”,然后选择“NetBeans 模块”。选择“NetBeans 平台应用程序”。您应 看到如下所示的内容:

图 1

NetBeans NetBeans 平台 6.8快速入门教程(2)

时间:2011-07-28 netbeans.org Sailing

单击“下一步”。

将新应用程序命名为 "WordApp",并使其成为 IDE 的主项目:

图 2

当调用全局项目命令“运行项目”时,将启动 IDE 主项目。

单击“完成”。

在“项目”窗口中展开新应用程序,右键单击“模块”节点,然后选择“添加新模块”。将新模块命 名为 "WordEngine":

创建新模块

单击“下一步”。

为模块指定一个唯一的名称(即其代码名称基)以及将显示在“项目”窗口中的名称。

指定名称

NetBeans NetBeans 平台 6.8快速入门教程(3)

时间:2011-07-28 netbeans.org Sailing

单击“完成”。将创建新模块,并在“项目”窗口中显示其结构。

右键单击 "WordEngine" 模块,然后选择“新建”|“其他”。在“模块开发”类别中,选择“窗口组 件”:

创建新窗口

单击“下一步”。现在,您应看到如下所示的内容:

创建新窗口

单击“下一步”。

将“类名前缀”设置为 "Text",并将“包”设置为 "org.demo.wordengine"。

设置定义

NetBeans NetBeans 平台 6.8快速入门教程(4)

时间:2011-07-28 netbeans.org Sailing

单击“完成”。在模块的源结构中添加新窗口以及一些附属 XML 文件。

现在,双击 "TextTopComponent.java" 文件,以在 "Matisse" GUI 生成器的“设计”视图中将其打 开。使用“组件面板”(Ctrl-Shift-8) 将一个按钮和一个文本区域拖放到窗口中:

组件面板

右键单击文本区域,选择“更改变量名称”,然后将其命名为 "text"。这是您从代码中访问该组 件时所用的名称。将按钮文本设置为 "Filter!"。

双击该按钮,在源代码编辑器中自动创建一个事件处理方法。在单击按钮时,将会调用此方法。将此 方法的主体更改为以下代码。

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
   String s = text.getText();
   s = s.toUpperCase();
   text.setText(s);
}

右键单击该应用程序,然后选择“运行”。此操作将启动新的 NetBeans 平台应用程序并安装模块。 新应用程序应如下所示:

显示新应用程序

选择“窗口”| "Text"(文本),在文本区域中输入一些文本,然后单击 "Filter!"。此时,您应看 到文本将以大写字母显示:

大写

NetBeans NetBeans 平台 6.8快速入门教程(5)

时间:2011-07-28 netbeans.org Sailing

您已经学习了如何创建新的 NetBeans 平台应用程序以及如何向其中添加新模块。

使用 Lookup 的模块化应用程序

使用 Lookup 的模块化应用程序

供给前一部分所定义的模块。

在“项目”窗口中展开新应用程序,右键单击“模块”节点,然后选择“添加新模块”。将新模块命 名为 "TextFilter",并指定 "org.demo.textfilter" 作为其代码名称基,然后按照前一部分中的操作完 成向导步骤,该向导会将模块添加到先前创建的应用程序中。

右键单击 "TextFilter" 模块,然后选择“新建”|“Java 接口”。将该 Java 接口命名为 "TextFilter",在“包”中选择 "org.demo.textfilter",然后使用编辑器对其进行如下定义:

package org.demo.textfilter;

public interface TextFilter {

    String process(String s);

}

右键单击 "TextFilter" 模块,选择“属性”,然后使用“API 版本控制”标签指定包含接口的包应 当可以在整个应用程序中使用。

NetBeans NetBeans 平台 6.8快速入门教程 - 编程入门网

创建应用程序的第三个模块,将其命名为 "MyFilter",并指定 "org.demo.myfilter" 作为其代码名 称基。

在新创建的 "MyFilter" 模块的“项目属性”对话框中,添加对 "TextFilter" 模块的依赖关系:

NetBeans NetBeans 平台 6.8快速入门教程 - 编程入门网

NetBeans NetBeans 平台 6.8快速入门教程(6)

时间:2011-07-28 netbeans.org Sailing

由于上面定义的依赖关系,您现在可以实现在第二个模块中定义的接口:

package org.demo.myfilter;

import org.demo.textfilter.TextFilter;

@ServiceProvider(service=TextFilter.class)
public class UpperCaseFilter implements TextFilter {

    public String process(String s) {
        return s.toUpperCase();
    }

}

在编译时,@ServiceProvider 标注将创建 META-INF/services 文件夹并包含一个文件,该文 件按照 JDK 6 ServiceLoader 机制注册 TextFilter 接口实现。您需要设置对实用程序 API 模块的依赖 关系,该模块提供 ServiceProvider 标注。

现在需要更改处理过滤按钮单击操作的代码,以便查找并装入接口 "TextFilter" 的实现程序。在找 到此实现程序后,将对其调用以过滤文本。

我们需要先在 "WordEngine" 模块的“项目属性”对话框中添加对 "TextFilter" 模块的依赖关系, 然后才能执行此操作。

NetBeans NetBeans 平台 6.8快速入门教程 - 编程入门网

现在,您可以装入 "TextFilter" 类的实现,如下所示:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
    String s = text.getText();
    T

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号