NetBeans权威指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章 通过NetBeans开发Java标准应用程序

通过NetBeans集成开发环境可以快速地创建Java标准应用程序,利用NetBeans提供的可视化编程界面可以为应用程序添加/编辑界面组件、编译运行项目并最后发布项目。本章将讨论如何在NetBeans集成开发环境中完成这些基本的任务,快速开发Java标准应用程序。本章的讲解将以一个实际项目的开发过程为基础,一步一步地介绍Java标准项目在NetBeans集成开发环境中的开发实现。

本章主要内容

● 如何通过模板创建标准的Java应用程序

● 如何添加和编辑界面组件

● 项目的编译运行

● 如何配置和管理项目

● 如何使应用程序支持国际语言

● 如何打包和发布应用程序

本章亮点

● 在NetBeans集成开发环境中添加并编辑界面组件

● NetBeans对国际化开发的支持

● NetBeans项目的管理

2.1 创建Java标准应用程序

在NetBeans IDE中,开发工作都将在项目内完成,NetBeans IDE中的项目由一组源文件以及用来生成、运行和调试这些源文件的设置组成。这些设置包括哪些内容适合放在类路径中、如何生成和运行项目等。

2.1.1 创建Java标准应用程序项目

使用NetBeans集成开发环境生成的Ant脚本来编译、运行和调试应用程序的项目被成为标准项目。通过NetBeans集成开发环境生成的大部分项目都是标准项目,下面介绍生成标准项目的具体方法。

① 在NetBeans集成开发环境中,选择“文件”→“新建项目”命令,打开“新建项目”对话框,如图2-1所示。

图2-1 “新建项目”对话框

在“类别”列表框中选择“Java”节点,此时会在右边的“项目”列表框中显示如下几个节点。

● Java应用程序:通过“新建Java应用程序”向导,可以创建Java标准应用程序的项目。

● Java桌面应用程序:创建一个基于Swing组件的桌面应用程序框架。此模板提供基本的应用程序基础结构,如菜单栏、永久保持窗口状态以及状态栏。利用此模板,还可以生成代码以便为数据库表创建GUI界面。

● Java类库:通过“新建Java类库”向导,可以创建不包含主类的新标准项目,该项目主要用来创建Java标准类库。

● 基于现有源代码的Java项目:通过“新建包含现有源的Java项目”向导,可以使用现有的Java SE源文件夹创建新的标准项目。

● 包含现有Ant脚本的Java项目:将现有的Java模块导入到自由格式项目中。

② 选中“Java应用程序”节点,单击“下一步”按钮,打开“名称和位置”对话框,如图2-2所示。

图2-2 “名称和位置”对话框

③ 在“项目位置”文本框中输入项目的目录,或者单击“浏览”按钮选择项目的目录。在“项目名称”文本框中输入项目的名字。如果希望把创建的项目作为主项目,那么需要选中“设置为主项目”复选框。

名词解释:主项目在打开多个项目时,应始终将其中的一个项目设置为主项目。主项目通常是包含应用程序主类的项目。IDE提供了可快速生成、运行和调试主项目的快捷命令。在“项目”窗口中,主项目以粗体显示。可以将任何项目设置为主项目,方法是:右键单击该项目的项目根节点,然后选择“设置为主项目”命令即可。

④ 如果希望同时创建主类,可以选中“创建主类”复选框,并在后面的文本框中输入主类的路径和名称。

⑤ 单击“完成”按钮,完成Java标准项目的创建,至此创建了一个简单的Java标准应用程序。创建的Java标准项目在“项目”窗口中的显示如图2-3所示,包含源包、测试包、库、测试库等几个部分。

图2-3 “项目”窗口中的Java标准项目

创建的项目文件夹如图2-4所示。NetBeans IDE将项目信息存储在项目文件夹的根文件夹和nbproject文件夹中,包括Ant生成脚本、控制生成和运行设置的属性文件,以及若干个XML配置文件(例如,将Ant目标映射到NetBeans IDE命令的project.xml文件)。源目录一般都包含在项目文件夹中,目录名字为src,但这并不是必需的。test目录通常用于保存项目的测试包。

图2-4 Java标准项目文件夹

在源代码编辑器中打开Main.java文件,可以看到NetBeans自动生成的代码如下所示:

            /*
             * Main.java
             *
             * Created on 2006年10月15日,下午5:36
             *
             * To change this template, choose Tools | Template Manager
             * and open the template in the editor.
             */
            package firstjavaapp;
            /**
             *
             * @author Robin
             */
            public class Main {
                /** Creates a new instance of Main */
                public Main() {
                }
                /**
                * @param args the command line arguments
                */
                public static void main(String[] args) {
                  // TODO code application logic here
                }
            }

2.1.2 打开和关闭项目

1.打开项目

在Netbeans中可以根据需要关闭某个项目,或者打开一个已经存在的项目。打开项目通过选择“文件”→“打开项目”命令(快捷键为Ctrl+Shift+O),或者单击工具栏上的“打开项目”图标。在弹出的“打开项目”对话框中,选择项目的根文件夹,如图2-5所示。

图2-5 “打开项目”对话框

如果希望打开的项目作为“主项目”,就要选中“作为主项目打开”复选框。单击“打开项目”命令,即可打开选中的项目。

如果要打开最近刚刚关闭的项目,可以通过选择“文件”→“打开最近的项目”命令,打开最近打开的项目级联菜单,里面会列出最近的4个项目,如图2-6所示。在级联菜单中选择某个项目,即可再次打开该项目。

图2-6 最近打开的项目级联菜单

2.关闭项目

如果要关闭某个项目,可以通过下面的两种方法进行。

① 在“项目”窗口中选中要被关闭项目的根节点或者其子节点(即选中必须在被关闭的项目范围内),然后选择“文件”→“关闭xxx”命令。其中“xxx”为被选中项目的名称,根据项目的不同,其显示内容也不相同。

② 在“项目”窗口中该项目根节点上单击右键,然后选择“关闭”命令,如图2-7所示。

图2-7 关闭项目

2.1.3 导入项目

NetBeans IDE的一个优秀特性就是不仅支持打开/关闭NetBeans项目,还支持打开Eclipse和JBuilder开发的项目。这样,开发人员可以在最短的时间内,把Eclipse或者JBuilder的项目移植到NetBeans集成开发环境中。

1.安装导入模块

要导入Eclipse项目,必须首先安装Eclipse项目导入模块;要导入JBuilder项目,必须首先安装Eclipse项目导入模块。下面具体介绍这两个模块的安装步骤。

① 选择“工具”→“插件”命令,打开“插件”对话框。NetBeans提供了两种方式安装模块:一种是通过联网在线安装;另外一种是在本地安装已经下载的模块文件(*.nbm)。在“已下载”标签页中提供了安装手工下载的模块(*.nbm文件)的功能。这里选择在线安装,因此要首先设置网络连接。打开“设置”标签页,如图2-8所示。

图2-8 “插件”对话框的“设置”标签页

② 在标签页左边的列表中给出了所有可用的更新中心。单击“添加”按钮,打开“更新中心定制器”对话框,可以添加其他的更新中心,如图2-9所示。

图2-9 “更新中心定制器”对话框

在“名称”文本框中输入更新中心的名字,在URL文本框中输入更新中心的地址,单击“确定”按钮即可添加一个新的更新中心。

在“检查时间间隔”下拉列表框中可以选择检查更新的时间间隔。如果计算机是通过代理服务器连接到互联网的,那么需要单击“代理设置”按钮,打开“代理设置”对话框,关于该对话框的具体使用方法,请读者参考第1.7.1节中的介绍。

③ 打开“可用插件”标签页,如图2-10所示。在标签页左边的列表中列出了当前所有可用的模块,这里选中“JBuilder Project Importer”和“Eclipse Project Importer”选项,分别用于导入JBuilder和Eclipse项目。单击“安装”按钮,打开安装确认窗口,如图2-11所示。单击“下一步”按钮,开始安装,安装完毕后显示如图2-12所示的对话框。单击“完成”按钮,完成安装过程。

图2-10 “插件”对话框的“可用插件”标签页

图2-11 安装确认窗口

图2-12 完成安装

2.导入Eclipse和JBuilder项目文件

在安装了导入模块后,会在“文件”菜单下添加一个“Import Project”级联菜单,如图2-13所示。通过这个级联菜单,就可以导入相应的项目了。下面以Eclipse项目为例介绍导入项目的具体操作步骤。

图2-13 “Import Project”级联菜单

① 选择“文件”→“Import Project”→“Eclipse Project”命令,打开“Import Eclipse Project”对话框,如图2-14所示。

图2-14 “Import Eclipse Project”对话框

如果Eclipse项目是在Eclipse的工作区中创建的(即创建Eclipse项目时选择的是默认的目录),那么需要选中Import Projects from Workspace(从工作区导入项目)单选按钮,然后在Workspace Location(工作区位置)文本框中输入Eclipse工作区的位置。输入的不是Eclipse的工作区目录,否则会显示如图2-15所示的错误。

图2-15 工作区位置错误时的提示信息

② 在图2-14中,单击“下一步”按钮,打开“Projects to Import”对话框,如图2-16所示。Projects to Import(要导入的项目)列表中列出了Eclipse工作区中的全部项目。选中要导入的多个项目,在Location of NetBeans Projects(NetBeans项目的位置)文本框中输入NetBeans项目位置,最后单击“完成”按钮,把选中的Eclipse项目导入到指定的NetBeans项目目录中。

图2-16 “Projects to Import”对话框

在图2-14 中,如果Eclipse项目不是在工作区中创建的,那么需要选中Import Project ignoring Project Dependencies(导入项目时忽略项目依赖关系)单选按钮,然后在Project to Import(要导入的项目)文本框中输入Eclipse项目的根目录,在Destionation Folder(目标文件夹)中输入要创建的NetBeans项目文件夹(在该文件夹中将创建NetBeans必需的项目文件,例如project.xml),如图2-17所示。

图2-17 导入单独的项目文件

这里建议使用Eclipse项目文件夹作为目标文件夹,否则源代码和项目文件将会分别保存在两个不同的文件夹中。设置完成后,单击“完成”按钮即可导入Eclipse项目。

2.1.4 重命名项目

在项目创建后如果需要修改项目的名称,可以在“项目”窗口中右键单击项目的根节点,然后选择“重命名项目”命令,打开“重命名项目”对话框,如图2-18所示。

图2-18 “重命令项目”对话框

在“项目名称”文本框中输入项目的新名字。如果希望在重新命名项目的时候也同时修改项目所在的文件夹的名字,则选中“同时重命名项目文件夹”复选框。单击“重命名”按钮即可完成项目的重命名。

2.1.5 项目的复制、移动和删除

在项目创建后如果要复制项目,可以在“项目”窗口中右键单击项目的根节点,然后选择“复制项目”命令,打开“复制项目”对话框,如图2-19所示。

图2-19 “复制项目”对话框

在“项目名称”文本框中输入新项目的名称;在“项目位置”文本框中输入项目的新位置或者单击“浏览”按钮查找项目的新路径,然后单击“复制”按钮,把当前选中的项目以指定的新名字复制到指定的目录。

在项目创建后如果要移动项目,可以在“项目”窗口中右键单击项目的根节点,然后选择“移动项目”命令,打开“移动项目”对话框,如图2-20所示。

图2-20 “移动项目”对话框

在“项目位置”文本框中输入项目的新位置或者单击“浏览”按钮查找项目的新路径,然后单击“移动”按钮完成项目的移动。

注意:在将项目移动或复制到新位置时,新文件夹必须已存在于计算机上。如果不存在,可以在图2-19或者图2-20中使用“浏览”按钮来创建文件夹。

在项目创建后如果要删除项目,可以在“项目”窗口中右键单击项目的根节点,然后选择“删除项目”命令,打开“删除项目”对话框,如图2-21所示。

图2-21 “删除项目”对话框

如果希望删除项目的同时也删除源代码,那么选中图2-21 中的复选框。确认无误后,单击“是”按钮就把该项目删除了。

2.1.6 创建Java主类

所谓Java主类,就是带有main方法(程序执行的入口)的Java类,main方法允许Java类作为控制台应用程序运行。

在创建Java标准项目时,如果在图2-2中选中了“创建主类”复选框,那么会在创建项目的同时创建一个Java主类。如果没有选中该对话框,可以通过下面的步骤在创建Java标准项目以后再创建Java主类。

① 首先确认要添加Java主类的项目为主项目。如果不是主项目,则在“项目”窗口中右键单击该项目的根节点,然后选择弹出菜单中的“设置主项目”命令,把该项目设置为主项目。

② 选择“文件”→“新建文件”命令,打开“新建文件”对话框,如图2-22所示。该对话框中提供了很多的模板,可以帮助开发人员快速地创建原型文件。

图2-22 “新建文件”对话框

名词解释:模板模板可以确定要创建对象的初始外观和行为。使用模板可以帮助开发人员节省用于创建应用程序的时间和精力。在“新建文件”对话框中,Java组件作为标准模板提供,如Swing和“抽象窗口工具包(AWT)”容器。此外,还提供了用于Applet、类、对话框、HTML文件、文本文件和书签的模板。

③ 在“类别”列表中,选择“Java”节点。在右边的“文件类型”列表中,会显示如下的模板供用户选择使用。

● Java类:创建新的plain Java类。此模板用于创建新的非可视类。

● Java接口:创建新的Java接口。

● Java枚举:创建新的Java枚举文件。要能够使用枚举文件,项目必须使用JDK 5.0或兼容版本。

● Java标注类型:创建新的Java标注类型。要能够使用标注类型文件,项目必须使用JDK 5.0或兼容版本。

● Java异常:创建带有可选详细消息的新Exception子类。

● Java包信息:创建新的Java包信息。要使用包标注,项目必须使用JDK 5.0或兼容版本。

● JApplet:创建新的JFC(Swing)Applet。Applet是可以在任一启用了Java的浏览器上运行的Java类。注意:此模板不包含允许在窗体编辑器中对Applet进行可视化设计的窗体代码。要进行可视化设计,请选择“Swing GUI窗体”类别下的JApplet模板。关于JApplet小程序的开发请参考第6章。

● Applet:创建新的AWT(抽象窗口工具包)Applet。Applet是可在任一启用了Java的浏览器上运行的Java类。注意:此模板不包含允许在窗体编辑器中对Applet进行可视化设计的窗体代码。要进行可视化设计,请从“Java GUI窗体| AWT窗体”类别下的Applet模板入手。关于Applet小程序的开发请参考第6章。

● 空Java文件:创建空的Java源文件。除了生成必需的包语句外,不生成任何代码。使用此模板可以从头开始创建类。

● Java包:创建用于保存Java源文件的包。此包的实际形式为磁盘上的空文件夹。

④ 这里,选择“文件类型”列表中的“Java主类”节点,单击“下一步”按钮,打开“名称和位置”对话框,如图2-23所示。在“类名”文本框中输入Java主类的类名。在“包”下拉列表框中输入包的名字。

图2-23 “名称和位置”对话框

⑤ 单击“完成”按钮,即可创建一个Java主类。

2.1.7 创建Java包

NetBeans不仅提供了创建Java类的功能,还提供了创建Java包的功能。可以通过下面的两种方式创建Java包。

● 在NetBeans的“项目”窗口中,右键单击要添加Java包的项目的“源代码包”节点或者“测试包”节点,然后选择弹出菜单的“新建”→“Java包”命令,如图2-24所示。打开的“新建Java包”对话框如图2-25所示。

图2-24 第1种添加Java包的方法

图2-25 “新建Java包”对话框

● 把要添加Java包的项目设置为主项目,然后选择“文件”→“新建文件”命令,打开如图2-22所示的“新建文件”对话框。在“新建文件”对话框中选择“类别”列表中的“Java”节点,然后再选择“文件类型”列表中的“Java包”节点。单击“下一步”按钮,打开如图2-25所示的“新建Java包”对话框。

在“新建Java包”对话框中可以输入Java包的名字和位置。在“包名”文本框中输入任意有效的名字,然后在“位置”下拉列表框中选择Java包的创建位置。单击“完成”按钮即可在指定的位置创建一个Java包。

2.2 项目运行与项目配置

2.2.1 项目运行

在NetBeans集成开发环境中可以通过下面几种方式来运行标准项目。

● 在“项目”窗口中右键单击要运行的项目,然后单击“运行项目”命令。这种方法适合主项目和非主项目。

● 选择“运行”菜单下的“运行主项目”命令(快捷键为F6)。这种方法只适用于主项目,对于非主项目可以先设置为主项目,然后再使用这种方法。

● 在“项目”窗口中右键单击要运行的文件,然后选择弹出菜单中的“运行文件”命令(快捷键为Shift + F6)。这种方法适合主项目和非主项目。

● 在“项目”窗口中选中要运行的文件,或者在“编辑器”窗口中激活要运行的文件,然后选择“运行”菜单下的“运行文件”→“运行xxxx.java”命令(快捷键为Shift + F6)。这种方法适合主项目和非主项目。

● 单击工具栏上的“运行主项目”图标。这种方法只适用于主项目,对于非主项目可以先设置为主项目,然后再使用这种方法。

说明:如果只想编译某个文件,可以在“项目”窗口中右键单击要编译的文件,然后选择弹出菜单中的“编译文件”命令(快捷键为F9)。

2.2.2 项目配置

在NetBeans集成开发环境中,可以修改项目的配置参数,也可为项目指定另外的源代码目录、测试目录、指定编译选项、设置编译运行库、设置运行参数等。

1.设置源代码选项

在“项目”窗口中右键单击项目,选择弹出菜单中的“属性”命令。或者在“项目”窗口中选中项目,然后选择“文件”菜单的“选中的项目名字属性”命令,打开“项目属性”对话框,在左边的“类别”列表中选中“源”节点,如图2-26所示。

图2-26 在“项目属性”对话框中修改源代码选项

NetBeans的标准项目允许有多个源代码文件夹,在“源包文件夹”列表中列出了这些源代码文件夹(默认只有一个src文件夹)。可以单击旁边的“添加文件夹”按钮,添加其他的源代码文件夹。NetBeans的标准项目也允许有多个测试代码文件夹,在“测试包文件夹”列表中列出了这些测试代码文件夹(默认只有一个test文件夹)。可以单击旁边的“添加文件夹”按钮,添加其他的测试代码文件夹。“源代码/二进制格式”下拉列表框用于选择JDK的版本。“编码”下拉列表框用于选择代码的编码格式。

2.设置库选项

在“项目属性”对话框中,选中“类别”列表中的“库”节点,可以设置应用程序编译和运行时的库,如图2-27所示。如果在自己的项目中使用到了其他的Java库,或者引用了其他的项目,那么需要在这里添加相关的库文件。

图2-27 设置编译库

“Java平台”下拉列表框可以用来指定编译使用的JDK版本,如果要添加其他的Java平台,可以单击“管理平台”按钮(或者在NetBeans集成开发环境中选择工具菜单下的“Java平台管理器”命令),打开“Java平台管理器”对话框,如图2-28所示。在这个对话框中可以添加/删除Java平台。

图2-28 “Java平台管理器”对话框

如果项目中引用了其他项目,那么可以在如图2-27所示的对话框中单击“添加项目”按钮,引入其他的项目;如果需要添加一个单独的Jar、Zip或者一个包含.class文件的文件夹,可以单击“添加JAR/文件夹”按钮;如果要添加一个NetBeans库,可以单击“添加库”按钮,打开“添加库”对话框,如图2-29所示。

图2-29 “添加库”对话框

用户可以把其他Java库添加到NetBeans的标准库中,单击“管理库”按钮(或者在NetBeans集成开发环境中选择工具菜单下的“库管理器”命令),打开“库管理器”对话框,如图2-30所示。这里,单击“新建库”按钮即可添加其他的Java库。

图2-30 “库管理器”对话框

添加完毕后,单击“确定”按钮,返回“添加库”对话框,此时就可以选择新添加的NetBeans库了。在“添加库”对话框中选中要添加的库,然后单击“添加库”按钮,选中的库将被添加到“编译时库”列表中,如图3-31所示。

图3-31 添加了一个编译时库

使用同样的方法可以在“运行”标签中添加运行时必需的库;在“编译测试”标签中添加编译测试程序时必需的库;在“运行测试”标签中添加运行测试程序时必需的库。

3.设置编译选项

在“项目属性”对话框中,选中“类别”列表中的“生成”→“编译”节点,可以设置应用程序编译选项,如图2-32所示。

图2-32 设置应用程序的编译选项

选中“生成调试信息”复选框,在编译的文件中会包含调试信息,可以进行跟踪调试。在开发和调试阶段请选中该复选框。全部测试通过后,发布正式的应用程序时,可以去掉这个选项。

选中“报告过时API的使用”复选框,当程序中使用了当前JDK已经不再建议使用的API(即过时的API)时,那么就会提示给开发人员。

如果要在编译时制定其他编译选项,那么可以在“其他编译器选项”文本框中输入。关于编译器的选项,因为超出了本书的介绍范围,这里不再介绍,请读者自行参考相关文档。

4.设置运行选项

在“项目属性”对话框中,选中“类别”列表中的“运行”节点,可以设置应用程序的运行选项,如图2-33所示。

图2-33 设置应用程序的运行选项

在“主类”文本框中可以输入Java程序运行的主类,如果项目中有多个主类,这里可以单击“浏览”按钮,打开“浏览主类”对话框,选择哪个类要被应用程序执行。

在“参数”文本框中可以输入应用程序运行时需要的一些参数。“工作目录”文本框用于制定应用程序的工作目录。“VM选项”文本框用于指定虚拟机的一些选项。关于虚拟机的具体选项,请读者自行查阅相关文档,这里不再赘述。

2.3 创建标准GUI应用程序

通过NetBeans集成开发环境提供的模板可以快速地创建带有菜单的应用程序、多文档界面(Multi-Document Interface,简称MDI)应用程序和包含“确定/取消”对话框的应用程序。下面分别介绍这几种应用程序的创建方法。

2.3.1 包含三个菜单的应用程序

下面将创建一个基于JFrame的框架应用程序,其中包含File、Edit和Help三个菜单。

① 新建一个名字为“ApplicationMenuDemo”的Java标准项目,并设置为主项目。

② 新建一个名字为gui的Java包。

③ 选择“文件”→“新建文件”命令,打开“新建文件”对话框。选择“类别”列表中的“Swing GUI窗体”,然后选择右边“文件类型”列表中的“应用程序样例窗体”节点,如图2-34所示。

图2-34 新建样例应用程序

④ 单击“下一步”按钮,打开“新建应用程序样例窗体”对话框。在对话框中输入类名,并选择创建到gui包中,如图2-35所示。

图2-35 “新建应用程序样例窗体”对话框

⑤ 单击“完成”按钮,创建带菜单的应用程序。创建完成后,可以在“设计”视图中看到应用程序上面有三个菜单,如图2-36所示。

图2-36 “设计”视图中的应用程序菜单

⑥ 运行程序会显示如图2-37所示的应用程序。当选择“File”→“Exit”命令时会退出应用程序,其他菜单项因为没有添加代码,所以单击时没有反应。

图2-37 创建的应用程序运行界面

2.3.2 多文档界面应用程序

多文档界面(Multiple Document Interface, MDI)应用程序是一种比较常见的应用程序,利用NetBeans提供的模块可以快速地创建一个多文档界面应用程序。

多文档界面模型类似于传统的计算机窗口系统,它也有一个包含其他窗口的桌面。在基于JFC/Swing的多文档界面应用程序中,各个内部窗口都包含在一个封闭窗口(即桌面)中,用户可以对该窗口定位、调整大小、最小化和关闭。

NetBeans提供了创建多文档界面应用程序的模板,可以像创建带菜单的应用程序一样,快速地生成一个带三个菜单的多文档界面应用程序。下面介绍具体的开发步骤。

① 新建一个名字为“MDIAppDemo”的Java标准项目,并设置为主项目。

② 新建一个名字为gui的Java包。

③ 在如图2-34所示的对话框中选择“文件类型”列表中的“MDI应用程序样例窗体”节点,然后单击“下一步”按钮,打开“新建MDI应用程序样例窗体”对话框。在对话框中输入类的名字,并选择创建到gui包中,如图2-38所示。

图2-38 “新建MDI应用程序样例窗体”对话框

④ 单击“完成”按钮,创建带菜单的多文档界面应用程序。创建完成后,可以在“设计”视图中看到应用程序上面有三个菜单,如图2-41所示。

图2-41 调整内部窗体的大小和位置

⑤ 此时,只是创建了一个多文档界面程序的框架,需要再添加内部窗体(JInternalFrame)。从“组件面板”窗口的“Swing”类别中选择“内部框架”(JInternalFrame)组件,将其拖曳到图2-39的蓝色区域中,如图2-40所示。

图2-39 空白的多文档界面应用程序

图2-40 添加内部窗体

⑥ 通过鼠标调整内部窗体的大小和位置,如图2-41所示。

⑦ 运行程序会显示如图2-42所示的应用程序运行效果。当选择“File”→“Exit”命令时会退出应用程序,其他菜单项因为没有添加代码,所以单击时没有反应。至此,完成了一个简单的多文档界面应用程序。

图2-42 多文档界面应用程序运行效果

2.3.3 “确定”/“取消”对话框

MetBeans提供了快速创建对话框的模板,下面的操作将创建一个带有“确定”和“取消”按钮的Swing对话框。

① 新建一个名字为“OkCancelDialogDemo”的Java标准项目,并设置为主项目。

② 新建一个名字为gui的Java包。

③ 在如图2-34所示的对话框中选择“文件类型”列表中的“‘确定’/‘取消’对话框样例窗体”,然后单击“下一步”按钮,打开“新建‘确定’/‘取消’对话框样例窗体”对话框。在对话框中输入类的名字,并选择创建到gui包中,如图2-43所示。

图2-43 “新建‘确定’/‘取消’对话框样例窗体”对话框

④ 单击“完成”按钮,创建一个对话框,在对话框上有一个OK按钮和一个Cancel按钮,如图2-44所示。程序的运行界面如图2-45所示,单击OK按钮或者Cancel按钮时,都会自动关闭对话框。

图2-44 创建的“确定”/“取消”对话框

图2-45 “确定”/“取消”对话框的运行效果

提示:可以使用上面的模板创建消息框和任何其他对话框模板(例如,创建一个带有“是”、“否”和“取消”按钮的模板)。首先创建对话框,然后在“项目”窗口中右键单击源文件节点,从上下文菜单中选择“另存为模板”,打开“另存为模板”对话框,如图2-46所示。在该对话框中选择模板的类别,然后单击“确认”按钮即可。下次再打开如图2-34所示“新建文件”对话框时,就可以使用自己创建的模板了。

图2-46 “另存为模板”对话框

2.4 创建GUI窗体

利用NetBeans提供的模板,可以快速地开发基于图形用户界面的窗体。NetBeans中支持创建如下几个类型的GUI窗体:

● Java小程序窗体

● 对话框窗体

● 框架窗体

● 内部框架窗体

● 面板窗体

● Bean窗体

其中,Java小程序窗体将在第6章进行介绍,Bean窗体将在第7章进行介绍,内部框架窗体已在第2.3节进行了介绍。其余的窗体创建方法将在下面进行详细的讨论。

2.4.1 对话框窗体

对话框是模型化或非模型化的窗口,通常用于提示用户输入信息。NetBeans提供了创建基于AWT(抽象窗口工具包)的对话框模板(Dialog)和基于JFC(Swing)的对话框(JDialog)模板。下面以创建JDialog为例,介绍对话框窗体的创建方法。

① 新建一个Java项目JDialogDemo,并设置为主项目。

② 新建一个名字为gui的Java包。

③ 打开如图2-34所示的“新建文件”对话框。在“类别”列表中选择“Swing GUI窗体”节点,然后在“文件类型”列表中选择“JDialog窗体”节点。

说明:如果要创建基于AWT的窗体,这里应选择“类别”列表中的“AWT GUI窗体”节点,然后再选择“文件类型”列表中的“对话框窗体”节点。

④ 单击“下一步”按钮,打开“新建JDialog窗体”对话框,如图2-47所示。在“类名”文本框中输入窗体的类名;在“包”下拉列表框中选择新建的对话框窗体要被包含在哪个包中,这里选择gui包。单击“完成”按钮,即可创建JDialog窗体。

图2-47 “新建JDialog窗体”对话框

2.4.2 框架窗体

框架通常用作独立式顶层窗口,承担应用的主用户界面。NetBeans提供了创建基于AWT的框架模板(Frame)和基于JFC(Swing)的框架(JFrame)模板。下面以创建JFrame为例,介绍框架窗体的创建方法。

① 新建一个Java项目JFrameDemo,并设置为主项目。

② 新建一个名字为gui的Java包。

③ 打开如图2-34所示的“新建文件”对话框。在“类别”列表中选择“Swing GUI窗体”节点,然后在“文件类型”列表中选择“JFrame窗体”节点。

说明:如果要创建基于AWT的框架,这里应选择“类别”列表中的“AWT GUI窗体”节点,然后再选择“文件类型”列表中的“框架窗体”节点。

④ 单击“下一步”按钮,打开“新建JFrame窗体”对话框,如图2-48所示。在“类名”文本框中输入框架窗体的类名;在“包”下拉列表框中选择新建的框架窗体要被包含在哪个包中,这里选择gui包。单击“完成”按钮,即可创建JFrame窗体。

图2-48 “新建JFrame窗体”对话框

2.4.3 面板窗体

面板窗体通常用于将几种其他组件集中于一处显示,另外面板本身也作为框架和对话框的内部组件使用。NetBeans提供了创建基于AWT的面板窗体(Panel)模板和基于JFC(Swing)的面板窗体(JPanel)模板。下面以创建JPanel为例,介绍面板窗体的创建方法。

① 新建一个Java项目JPanelDemo,并设置为主项目。

② 新建一个名字为gui的Java包。

③ 打开如图2-34所示的“新建文件”对话框。在“类别”列表中选择“Swing GUI窗体”节点,然后在“文件类型”列表中选择“JPanel窗体”节点。

说明:如果要创建基于AWT的框架,这里应选择“类别”列表中的“AWT GUI窗体”节点,然后再选择“文件类型”列表中的“面板窗体”节点。

④ 单击“下一步”按钮,打开“新建JPanel窗体”对话框,如图2-49所示。在“类名”文本框中输入框架窗体的类名;在“包”下拉列表框中选择新建的框架窗体要被包含在哪个包中,这里选择gui包。单击“完成”按钮,即可创建JPanel窗体。

图2-49 “新建JPanel窗体”对话框

2.5 添加界面组件

NetBeans集成开发环境的图形用户界面(Graphical User Interfaces,GUI)设计器,即GUI Builder,可以可以通过可视方式来设计GUI。在创建和修改GUI时,集成开发环境会自动生成用于实现界面的Java代码。从NetBeans 5.0开始,GUI Builder已经进行了改进,变得更加直观,功能也更加强大。即使用户不熟悉布局管理器,也能轻松地构建出专业级的图形用户界面应用程序。NetBeans的新GUI Builder允许简单地将组件置于需要它们的位置上来布置窗体。

2.5.1 GUI Builder

NetBeans集成开发环境的GUI Builder通过简化图形界面解决了Java GUI创建的核心问题,从而把开发人员从Swing布局管理器的复杂性中解放出来。GUI提供了简单的自由设计模式,使得界面组件的布局可以轻松完成。

布置窗体时,GUI Builder将提供可视化的准线,给出最佳间距和组件对齐建议。在后台,GUI Builder将设计决策转换为可用的UI,这种UI是使用新GroupLayout布局管理器及其他Swing构造实现的。因为使用的是动态布局模型,所以使用GUI Builder构建的图形界面能通过调整以适应任何更改,而不改变已定义的组件之间的关系。只要调整窗体大小、切换地点或指定不同外观,GUI就会按照目标外观的插入和偏移自动进行调整。

在“项目”窗口中单击包含GUI窗体的源代码,可以打开GUI Builder编辑窗体,如图2-50所示。

图2-50 GUI Builder编辑窗体

GUI Builder不是一个单独的窗口,而是一组窗口的集合,通过这个集合可以快速地、可视化地设计窗体。GUI Builder的各种窗口介绍如下。

● 设计区域:用于创建和编辑Java GUI窗体的GUI Builder的主窗口,由“设计”视图和“源代码”视图组成,分别用于查看类的源代码及其GUI组件的图形视图。工具栏的“源代码”和“设计”切换按钮,允许在这两个视图间进行切换。在设计区域中还包含其他工具栏按钮,提供常见命令的快捷访问,如在对齐组件、设置组件自动调整大小行为及预览窗体等。

● “检查器”窗口(Inspector):按照树层次结构提供应用程序中所有组件(可视的和非可视的)的表示形式。“检查器”窗口还提供关于在GUI Builder中当前正在编辑树中的什么组件的可视化反馈,同时还允许在可用面板中组织组件。

● “组件面板”窗口:组件面板中的组件可以被添加到GUI窗体中。

● “属性”窗口:显示并修改在“设计”视图、“检查器”窗口、“项目”窗口或“文件”窗口中当前选择组件的属性。

默认情况下,GUI生成器使用GroupLayout布局管理器来管理新创建的所有窗体。GroupLayout是Netbeans中新引入的一个布局管理器,它将成为JDK 6中Swing的核心部分。下面将主要介绍如何为GroupLayout添加组件,关于其他布局管理器将在第2.5.5节中进行介绍。

2.5.2 添加/编辑组件

NetBeans的GUI Builder可以轻松地为窗体添加Swing、AWT或者Java Bean组件,并且设置组件之间的间距、大小和对齐方式。下面通过一个具体的例子演示如何为窗体添加和编辑组件。

① 按照第2.1.5节中的项目复制方法,把第2.3.3节中创建的对话框应用程序复制并保存为ComponentsDemo,并把创建的ComponentsDemo项目设置为主项目。

② 在“项目”窗口中,双击ComponentsDemo→“源代码包”→gui→MyOkCancelDialog.java节点,打开“设计”视图,如图2-51所示。

图2-51 打开“设计”视图

③ 选中“组件面板”窗口中的“面板”(JPanel)组件,如图2-52所示。

图2-52 在“组件面板”中选中JPanel组件

④ 把鼠标移动到“设计”视图中,此时会显示一个表示要添加的组件矩形框,并随着鼠标移动。当鼠标移动到窗体边缘附近时,就会出现水平和垂直方向的两个校准线,指示较佳的边距,如图2-53所示。

图2-53 在窗体中添加JPanel组件

⑤ 把组件移动到目标位置后,单击鼠标放置组件,如图2-54所示。此时在“检查器”窗口中就会多了一个面板组件,表示组件添加成功,如图2-55所示,

图2-54 放置JPanel组件

图2-55 “检查器”窗口

⑥ 单击OK按钮,此时面板会在窗体中消失,当鼠标移动到JPanel的位置时会显示一个灰色的矩形框,表示JPanel组件未被选中,如图2-56所示。单击面板中的任何一个位置,面板组件会被重新选中。在GUI Builder中,只有被选中的组件才能进行改变大小、对齐等操作。

图2-56 未被选中时的JPanel组件

⑦ 下面调整组件的大小,因为要在上面添加其他的GUI组件。被选中的组件周围会显示带八个白色矩形的边框。当把鼠标移动到边框上或者白色矩形上时,鼠标的指针会改变。拖曳边框或者拖曳白色的矩形就会修改组件的大小,如图2-57所示。

图2-57 修改组件的大小

说明:NetBeans的GUI Builder支持对一个容器单独进行设计(避免互相影响)。在要进行单独设计的组件上单击右键,选择弹出菜单中的“设计此容器”命令,就会在“设计”视图中只显示该容器。在设计完成后,再选择组件的上下文菜单的“设计顶层容器”命令,就可以返回上一级容器了。

⑧ 重复上面的步骤,添加4 个标签(JLabel)组件、两个文本字段(JTextField)组件和一个组合框(JComboBox)组件,如图2-58所示的组件。

图2-58 添加其他窗体组件

提示:GUI Builder也支持复制(Ctrl+C)、粘贴(Ctrl+V)和剪切(Ctrl+X)组件的操作,按下Del键以可以删除选中的组件。

⑨ GUI Builder允许插入组件,并且会对插入的组件自动对齐。从“组件面板”窗口选中一个文本字段组件,把它拖曳到如图2-59所示的位置并松开鼠标,此时新添加的文本字段组件会插入在当前位置,如图2-60所示。

图2-59 插入组件

图2-60 插入组件后的GUI Builder

2.5.3 修改组件属性

组件的属性可以在“属性”窗口中进行编辑。单击“窗口”→“属性”命令或者右键单击组件,选择上下文菜单中的“属性”命令,都可以打开“属性”窗口,如图2-61所示。下面以上一小节的实例为例,介绍如何修改组件的属性。

图2-61 “属性”窗口

① 选中jLabel1组件,在“属性”窗口中修改text属性为“姓名:”,或者双击jLabel1组件,直接输入“姓名:”,如图2-62所示。

图2-62 修改text属性

② 单击“属性”窗口中foreground属性旁边的 按钮,打开ColorEditor对话框,如图2-63所示。在ColorEditor对话框中选择前景颜色,显示效果可以在“预览”分组框中进行预览。ColorEditor对话框中提供多种选择颜色的方法,也可以直接设置RGB颜色值、选择AWT/Swing组件面板中的颜色,或者选择组件面板中的颜色。

图2-63 ColorEditor对话框

③ 这里选择红色,然后单击“确定”按钮。此时,第一个jLabel的颜色会变为如图2-64所示。

图2-64 设置jLabel组件的前景颜色

④ 用同样的方法,把jLabel2的text属性设置为“性别:”,foreground颜色也设置为红色。把jLabel3的text属性设置为“生日:”,把jLabel4的text属性设置为“工作单位:”,如图2-65所示。

图2-65 设置其他jLabel组件的属性

⑤ 把jTextField1、jTextField2和jTextField3的text属性设置为空,此时这三个组件的大小会有所变化。把鼠标移动到组件的边框,并拖动鼠标,此时组件的大小会随着变化,如图2-66所示。用同样的方法,调整其他几个jTextField组件的大小,如图2-67所示。

图2-66 设置jTextField组件的text属性

图2-67 调整组件的大小

⑥ 选择下拉列表框jComboBox组件,在“属性”窗口中选择model属性旁边的 按钮,打开model对话框,如图2-68所示。

图2-68 model对话框

model对话框用于设置下拉列表框中显示的项目,这里删除两个项目,并修改剩下的两个项目,如图2-69所示。

图2-69 修改项目

⑦ 单击“确定”按钮,返回GUI Builder。选中JPanel组件,选择“属性”窗口中border属性旁边的 按钮,打开border对话框,如图2-70所示,可以看到此时jPanel组件没有边框。这里选中TitledBorder选项,然后在下面的“标题”属性中输入“个人信息(红色为必填)”,如图2-71所示。

图2-70 border对话框

图2-71 修改边框的标题

⑧ 单击“确定”按钮,返回GUI Builder,此时的界面如图2-72所示。

图2-72 修改完属性的界面

至此,完成了组件属性的修改工作。组件其他属性的修改都可以通过“属性”窗口完成,这里不再一一介绍。

2.5.4 设置组件对齐以及等宽/等高

在编辑界面时,经常需要将组件进行对齐或者设置组件等宽/等高,以获得良好的界面效果。下面仍然以上面的例子为例,介绍组件对齐以及等宽/等高的修改方法。

在“设计”视图中选中左边的两个文本框,然后选择上下文菜单的“相同大小”→“相同宽度”命令,如图2-73所示。如果要把几个组件的高度设置为相等,那么这里应该选择“相同高度”命令。

图2-73 设置等宽

提示:按下Ctrl键,用鼠标单击组件可以选中多个组件。用鼠标也可以一次框选多个组件。

选中右边的两个jLabel组件,然后选择上下文菜单中的“对齐”→“列左侧”命令,如图2-74所示,另外也可以选择工具栏上的“列中左对齐”按钮。其他几个对齐命令的含义如下所示。

图2-74 进行对齐操作

● 列左侧:相当于工具栏的“列中左对齐”按钮,所有组件都以列的左边界为基准进行对齐。

● 列右侧:相当于工具栏的“列中右对齐”按钮,所有组件都以列的右边界为基准进行对齐。

● 列中心:相当于工具栏的“水平居中”按钮,所有组件都以列的中心为基准进行对齐。

● 行顶部:相当于工具栏的“行中顶对齐”按钮,所有组件都以行的上边界为基准进行对齐。

● 行底部:相当于工具栏的“行中底对齐”按钮,所有组件都以行的下边界为基准进行对齐。

● 行中心:相当于工具栏的“垂直居中”按钮,所有组件都以行的中心为基准进行对齐。

对齐后,再调整“工作单位”文本框的大小,使得界面如图2-75所示。设计完成后,可以单击“设计”视图工具栏上的“预览设计”按钮,预览设计效果,如图2-76所示。

图2-75 进行对齐和等宽操作后的界面

图2-76 预览设计效果

在运行程序前,需要在doClose函数中添加代码System.exit(0),这样退出对话框就会退出整个应用程序。doClose函数的实现代码如下所示:

                private void doClose(int retStatus) {
                  returnStatus = retStatus;
                  setVisible(false);
                  dispose();
                  System.exit(0);
                }

至此,基本上完成了一个标准应用程序的设计,应用程序的实际运行界面如图2-77所示。

图2-77 应用程序的实际运行界面

2.5.5 布局管理器和GridBagLayout布局

NetBeans提供了一个布局管理器(LayoutManager接口),通过这个布局管理器可以确定容器内组件的大小和位置,控制在GUI窗体中排列可视组件的方式。在容器上单击右键,然后选择弹出菜单中的“设置布局”级联菜单,即可设置/修改容器的布局。

1.布局概述

默认情况下,GUI Builder使用的是自由布局(FreeDesign)类型,可以在其中使用可视基准线(自动建议组件的最佳对齐方式和间距)来布置窗体。在工作时,GUI生成器将设计理念转化为正常工作的UI,而无须指定布局管理器。由于自由布局类型使用动态布局模型,因此,只要调整窗体大小或切换语言环境,GUI就会自动调整以适应这些更改,而不会改变组件之间的关系。处理自由布局模型外,NetBeans还支持如下几种布局模型。

● FlowLayout:FlowLayout布局如同书页上的字一样在容器中排列组件。它从左到右填充顶行,直到不能容纳任何其他组件为止,然后再以同样的方式继续填充后面的每一行。

● BorderLayout:BorderLayout布局沿容器的边缘或中心排列组件。使用该布局可以将组件放在以下五个可能的位置:“北”、“南”、“东”、“西”和“中心”,分别对应于容器的顶部、底部、右边缘和左边缘以及内部区域。

● GridLayout:GridLayout布局将组件放在单元格大小相同的网格中,并将组件从左到右、从上到下添加到网格中。

● GridBagLayout:GridBagLayout布局是一个功能强大的布局管理器,它使用一组复杂的组件属性(称为“约束”)来精确控制布局的各个方面,甚至在调整容器大小时也是如此。它对于多平台Java应用程序特别有用,因为可使用它来创建自由格式的布局,这些布局在所有平台上保持一致的外观。GridBagLayout将组件放在由行和列组成的网格中,并非所有网格单元的大小都是相同的。此外,组件可以跨越多行或多列,或同时跨越多行和多列。

● CardLayout:CardLayout布局提供了一种管理占据同一显示区的两个或多个组件的方法。在使用CardLayout时,每个组件就像一副纸牌中的一张牌,所有纸牌的大小都相同,且任何时候都只能看到顶部的牌。因为组件占据同一显示空间,所以在设计时必须使用“检查器”窗口选择各个组件。

● BoxLayout:BoxLayout布局允许垂直或水平(但不能同时在两个方向)排列多个组件。BoxLayout管理的组件按添加到容器的顺序,从左到右或从上到下排列。添加更多组件时,甚至在调整容器大小时,BoxLayout中的组件也不能换到第二行或第二列。

● AbsoluteLayout:AbsoluteLayout布局是一种特殊的IDE布局管理器,可使用它将组件准确放在窗体中的所需位置,在IDE中任意移动组件以及使用组件选择边框来调整其大小。这对于生成原型特别有用,因为没有任何格式限制,并且不需要输入任何属性设置。

注意:这里建议不要将AbsoluteLayout用于生成应用程序,因为当环境发生改变时,组件的固定位置和大小并不会随之改变。另外,AbsoluteLayout布局不属于标准的Java布局,因此如果使用这种布局,在分发应用程序时必须包括NetBeans IDE的AbsoluteLayout类。可以将这些类部署到<install-dir>/ide6/modules/ext/Absolute Layout.jar中。

● Null Layout:可使用Null Layout布局来设计窗体,而无须使用任何布局管理器。与AbsoluteLayout类似,它对快速生成原型非常有用,但建议不要将其用于生产应用程序,因为当环境发生改变时,组件的固定位置和大小并不会随之改变。

2.使用GridBagLayout布局

从NetBeans 5.0开始加入了一种新的布局类型:GridBagLayout。这种布局为开发人员提供了很大的灵活性,即使不懂得布局的概念也可以快速地进行布局设计。

添加一个jPanel组件,在添加的jPanel上面单击右键,选择弹出菜单中的“设置布局”→GridBagLayout命令,设置布局类型为GridBagLayout布局。在jPanel组件上添加三个jLabel组件和三个jTextField组件,如图2-78所示。

图2-78 添加界面组件

在jPanel上面单击右键,选择弹出菜单中的“定制布局”命令,打开“GridBagLayout定制器”对话框,如图2-79所示。

图2-79 “GridBagLayout定制器”对话框

“GridBagLayout定制器”对话框可在GridBagLayout中对组件的位置和约束进行可视化调整。它包含GridBag约束的属性表单、用于调整约束的按钮以及对组件布局的简短描述。拖动右窗格中的组件,根据需要对其重新定位。拖动组件时,其“网格X”和“网格Y”属性也随之改变,以反映新位置,如图2-80所示。

图2-80 调整组件

在完成组件的大概布局后,选择一个组件,并在左窗格中根据需要调整其约束。可以调整以下约束。

● “网格X”约束和“网格Y”约束:通过设置组件的网格X和网格Y的位置来微调其水平和垂直位置。

● “网格宽度”和“网格高度”约束:可使用“网格大小”按钮调整“网格宽度”约束和“网格高度”约束。单击最右侧带有黄色阴影的按钮,将该值设置为“余量”。也可以直接设置“网格宽度”约束和“网格高度”约束值,以指定各个方向上为组件分配的网格位置数。可以选择以下选项之一。

整数值——组件使用的单元数(而非像素数)。

余量——使用所有剩余的水平或垂直空间,使组件成为所在行或列的最后一项。

相对——指定组件紧挨所在行或列中的最后一项。

● “填充”约束:可使用“填充”按钮调整或者直接设置约束值。“填充”约束用于设置组件是使用为其分配的所有垂直空间、水平空间,还是两部分都使用。对于分配给组件且该组件未填充的任何空间,都将在右窗格中使用蓝色进行标记。

● “内部填充X”约束和“内部填充Y”约束:可以使用内部填充设置来增加组件的水平和垂直尺寸。可通过直接输入约束值或使用“内部填充”按钮来调整这些值。

● “锚点”约束:可以使用“锚点”约束将组件置于为其分配的空间内九个位置中的任意一处(“中心”、“北”和“西北”等)。如果组件没有剩余的空闲空间,则此设置不起作用。

● “X权重”约束和“Y权重”约束:调整权重设置来确定在调整容器窗口大小时应为组件分配的空间(相对于所在行或列中的其他组件)。权重值通常在0到1之间。调整窗口大小时,权重值较大的组件在其行或列中获得的空间更多。权重值为0的组件始终保持该方向的首选大小。如果行或列中所有组件的权重都为0,则任何额外的空间都将超出行或列的外边界,且组件大小将保持不变。

● “插入量”约束:“插入量”约束用于确定组件四侧的最小外部空间。可手动输入数值,也可以使用“插入量”按钮调整。“插入量”按钮分成四组,以便单独调整各侧的插入量、同时调整左右两侧的插入量或同时调整顶部和底部的插入量以及同时调整四侧的插入量。更改插入量时,将在右窗格中显示以黄色背景标记的插入区域。

修改完成后,单击“关闭”按钮,此时在GUI Builder中会显示出编辑的界面布局效果,如图2-81所示。

图2-81 定制后的GridBagLayout布局界面

2.6 使用Javadoc

Javadoc是根据在源代码文件中的注释信息产生帮助文档的一种技术,是Java特有的一种技术。NetBeans提供了产生Javadoc文档的方法,可以在集成开发环境中快速地产生Javadoc文档,并且还可以控制Javadoc文档的一些生成参数。

2.6.1 设置Javadoc生成参数

对于每个项目都可以设置项目的属性来控制生成Javadoc文档的内容。在“项目”窗口中右键单击项目,选择上下文菜单中的“属性”命令打开“项目属性”对话框。在对话框左边的“类别”列表中选择“生成”→“生成文档”节点,显示生成Javadoc文档的配置参数,如图2-82所示。

图2-82 生成Javadoc文档的配置参数

如果要在Javadoc文档中包含私有成员和私有包成员的说明,那么应该选中“包括私有成员和私有包成员”复选框。

如果要在Javadoc文档中包含作者信息,那么要选中“@author”复选框;如果要在Javadoc文档中包含版本信息,那么要选中“@version”复选框。

Javadoc文档浏览窗口的标题在“浏览器窗口标题”文本框中输入。其他Javadoc选项则在“其他Javadoc选项”文本框中输入。

2.6.2 生成Javadoc

假设主项目的名字为“Abc”,那么选择“生成”→“为Abc生成Javadoc”命令可以为该主项目生成Javadoc文档,生成的Javadoc文档如图2-83所示。

图2-83 生成的Javadoc文档

2.7 程序的打包与发布

在程序编写完成后,需要打包进行发布,把编译后的.class文件打包为JAR文件。本节将讨论程序打包的具体设置以及打包方法。

2.7.1 设置包装选项

对于每个项目都可以设置项目的属性来控制打包参数。在“项目”窗口中右键单击项目,选择上下文菜单中的“属性”命令打开“项目属性”对话框。在对话框左边的“类别”列表中选择“生成”→“打包”节点,显示打包的具体配置参数,如图2-84所示。

图2-84 设置包装选项

在“JAR文件”文本框中给出了生成的JAR文件的具体路径。“从JAR文件中排除”文本框中给出了打包时排除的文件。这里*.java文件为源代码文件,因此不应该包含在发布包中;*.form文件为NetBeans的窗体文件,也不应该包含在发布包中。如果希望压缩生成JAR文件,则应该选中“压缩JAR文件”复选框。

2.7.2 项目的生成

NetBeans的项目基础结构直接建立在Apache Ant之上,因此可以使用Ant脚本来运行Java应用程序。下面几种方式都可以用来生成项目。

● 在“项目”窗口中右键单击要生成的项目,然后单击“生成项目”命令。这种方法适合主项目和非主项目。

● 选择“生成”菜单下的“生成主项目”命令(快捷键为F11)。这种方法只适用于主项目,对于非主项目可以先设置为主项目,然后再使用这种方法。

● 在“项目”窗口中右键单击要生成的项目,然后单击“清除并生成项目”命令。此时会先执行清除操作,然后再生成项目。这种方法适合主项目和非主项目。

● 选择“生成”菜单下的“清除并生成主项目”命令(快捷键为Shift + F11)。这种方法只适用于主项目,对于非主项目可以先设置为主项目,再使用这种方法。

● 单击工具栏上的“生成主项目”图标。这种方法只适用于主项目,对于非主项目可以先设置为主项目,然后再使用这种方法。

● 单击工具栏上的“清除并生成主项目”图标。这种方法只适用于主项目,对于非主项目可以先设置为主项目,然后再使用这种方法。

说明:如果只想清除项目,可以在“项目”窗口中右键单击要清除的项目,然后选择弹出菜单中的“清除项目”命令即可。

2.8 小结

本章主要讲解使用NetBeans开发Java标准项目的方法,其中重点介绍了如何通过模板生成标准的应用程序和对话框以及如何添加和编辑界面组件。通过本章的学习,读者应该掌握以下内容:

● 项目的打开和关闭方法

● 如何设置主项目

● 如何从Eclipse和Jbuilder中导入项目

● 项目的编译和生成

● 如何通过模板生成标准的应用程序

● 如何通过模板创建不同的对话框

● 界面组件的添加、修改大小、设置属性、对齐方法

● 使用GridBagLayout布局