corner imagecorner image
FeaturesPluginsDocs & SupportCommunityPartners

在 NetBeans IDE 4.0 中生成 GUI

这个简短的教程将指导您创建一个名为 ColorSwitcher 的应用程序。您将建立一个能将面板的颜色从浅灰切换到中灰、黑色的简单程序。

在创建 ColorSwitcher 的过程中,您将了解如何完成以下任务:

入门

在 IDE 中,所有 Java 开发都将在项目中进行。IDE 项目是一组 Java 源文件及其关联的元数据,包括特定于项目的属性文件、控制生成和运行设置的 Ant 生成脚本,以及将 Ant 目标映射到 IDE 命令的 project.xml 文件。

创建项目

首先,我们需要创建一个名为 ColorSwitcher 的 Java 应用程序,但是为了执行此操作,需要创建用来存储源和其他项目文件的新项目。然而,Java 应用程序通常由几个 IDE 项目组成,因此针对本教程,我们将生成一个简单应用程序,该应用程序全部存储在单个项目中。

创建新的 ColorSwitcher 应用程序项目:

  1. 选择“文件”提示“新建项目”(Ctrl+Shift+N)。或者,可以单击 IDE 工具栏中的“新建项目”图标。

  2. “类别”窗格中,选择“常规”文件夹。在“项目”窗格中,选择“Java 应用程序”,然后单击“下一步”。

  3. “项目名称”字段中输入 "ColorSwitcher" 并指定项目位置。

  4. 确保选中“设置为主项目”复选框,并取消选择“创建主类”(如果该选项已被选中)。

  5. 单击“完成”。

    IDE 将在系统的指定位置创建 "ColorSwitcher" 文件夹。该文件夹包含所有项目的关联文件,包括它的 Ant 脚本、用于存储源和测试的文件夹以及特定于项目元数据的文件夹。可以使用“文件”窗口查看该结构。

创建容器

为了继续开发应用程序,我们需要创建一个 Java 容器,用于放置其他需要的 GUI 组件。创建新应用程序之后,您可能注意到“项目”窗口中的“源包”文件夹包含一个空 <default package> 节点。现在,我们将使用 JFrame 组件创建一个容器并将该容器放在一个新包中。

创建 JFrame 容器:

  1. “项目”窗口中,右键单击 "ColorSwitcher" 节点,然后选择“新建”提示“JFrame 窗体”

  2. 输入 ColorSwitch 作为类名称。

  3. 输入 my.colorswitcher.pkg 作为包。

  4. 单击“完成”。

    IDE 将在 ColorSwitch.java 应用程序中创建 ColorSwitch 窗体和 ColorSwitch 类。my.colorswitcher.pkg 包将替换 <default package>ColorSwitcher 窗体在“设计”视图的“编辑器”窗口中打开。

定义项目的主类

继续进行任何操作之前,我们需要使 IDE 了解哪个类为主类,以便能够正确生成和运行命令。可以将任何带有主方法的类设置为主类,但是本例中我们把在上一步中创建的 ColorSwitcher 类设置为主类。

设置主类:

  1. “项目”窗口中,右键单击 ColorSwitcher 项目节点,然后选择“属性”

  2. 在左侧窗格中,选择“运行”节点下面的“运行项目”

  3. 在右侧窗格中,单击“主类”字段右侧的“浏览”按钮。

  4. 在出现的“浏览主类”对话框中,选择 my.colorswitcher.pkg.ColorSwitch 并单击“选择主类”

  5. 单击“确定”退出“项目属性”对话框。

    当执行生成和运行命令时,IDE 将设置其引用的主类参数。

熟悉 IDE 的编辑器

目前我们已经为应用程序设置了新项目,下面我们将花几分钟的时间熟悉 IDE 的“编辑器”界面。下面的屏幕截图显示的是在 IDE 编辑器的“设计”视图中打开的 ColorSwitcher 应用程序。

IDE 的 GUI 编辑器界面

添加 JFrame 容器之后,IDE 在一个带有工具栏(该工具栏包含“源”“设计”的切换按钮)的编辑器标签中打开新建的 ColorSwitch 窗体。通过使用工具栏中的这些切换按钮,您可以选择查看 ColorSwitch 类的源代码或其 GUI 组件的图形视图。

最初将在“设计”视图中打开 ColorSwitch 类,同时将在 IDE 的右侧自动显示下列三个窗口:

  • 组件面板。包含各种 JFC/Swing、AWT 和 JavaBeans 组件的标签,以及一系列布局管理器。
  • 检查器。提供所有组件的表示,包括在应用程序中表示为树状分层结构的可视和不可视组件。检查器也提供有关树中哪个组件正在编辑器中编辑的可视反馈,并允许您在可用面板中组织这些组件。
  • 属性。显示在检查器编辑器项目文件窗口中当前选定组件的属性。

单击“源”按钮显示应用程序的 Java 源代码和 IDE 生成的代码部分(用蓝色的保护块表示,在“源”视图中不可编辑)。在“源”视图中时,只能在“编辑器”的白色区域中键入。单击“设计”按钮将使 IDE 的编辑器返回到图形视图。

编辑窗体

目前您已经创建了一个窗体,并且熟悉了 IDE 的 GUI 工具,接下来我们将开始开发 GUI 应用程序的细节部分。在此步骤中,我们将更改 JFrame 的缺省布局,使用 IDE 的组件面板向窗体添加必要的 GUI 元素,并且使用 GridBag 定制器将它们重新排列。

选择布局管理器

目前我们已经将 JFrame 添加为窗体的最上层容器,下一步是指定布局管理器,用来控制容器内组件的大小和位置。每种容器类型都有缺省的布局管理器。JFrame 组件的缺省布局管理器是 BorderLayout,它将该容器分为五个部分(北、南、东、西和中)。

组件面板的“布局”标签

在此步骤中,我们将切换到 GridBagLayout 布局管理器,它使用一组复杂的组件属性(称为“约束”)对布局的所有方面进行精确控制。GridBagLayout 将组件放置在行和列的网格中,其中网格单元的大小不必完全相同。此外,组件可跨越多行或多列,或同时跨越行和列。





更改布局管理器:

  1. 组件面板中,单击“布局”标签以访问 Java 基本类 (JFC) 中可用的布局管理器。请注意,当鼠标位于组件面板中的布局图标上时,将出现一个工具提示,显示该布局管理器的名称。

  2. 单击“布局”标签中的 GridBagLayout 按钮 (提示)。

  3. 单击编辑器中灰色 ColorSwitch 窗体上的任意位置,设置布局管理器。

    GridBagLayout 将添加到“检查器”中的 JFrame 组件分层结构。

添加按钮

目前我们已经更改了布局管理器,我们需要添加将实际运行 ColorSwitcher 应用程序的按钮。完成该操作时注意 IDE 的“选取和拖放”行为。

添加按钮:

  1. Swing 组件面板中,选择 JButton 组件。

  2. 单击编辑器中 ColorSwitch 窗体上的任意位置,将 JButton 组件添加到窗体。

    JButton 组件显示在编辑器的“设计”视图中,而其相应的节点显示在“检查器”中。JButton 组件的源代码被添加到源代码,并且在“源”视图中可见。

现在编辑该按钮,以便它以所需的字体样式和大小显示正确的文本。

重命名按钮并更改其显示字体:

  1. 编辑器的“设计”视图中,右键单击 JButton 组件,然后从上下文菜单中选择“编辑文本”。或者,您只需单击该按钮并按空格键即可。

  2. 在文本字段中输入 "Switch Color"。按 Enter 键。

  3. 在仍然选中 JButton 组件的情况下,滚动到“属性”窗口中的字体属性,并单击省略号 (...) 按钮。

  4. “字体编辑器”对话框中,将“字体样式”选择为“粗体”,并将“字体大小”选择为 "14"。单击“确定”。

    JButton 组件标签 "Switch Color" 将以大号的粗体字型显示。

此时编辑器中显示 "Switch Color" 按钮,该按钮位于其 JFrame 容器的中心,按钮边框为深紫色。窗体的其余部分为灰色空白区域,边界线为浅蓝色,表示 JFrame 本身的边缘。

添加标签

由于我们的应用程序使用一个标签来显示将调用按钮的颜色,因此下一步我们需要添加标签。在该步骤中,我们将从 IDE 的组件面板中选择 JLabel Swing 组件,并将其放置在编辑器工作区的窗体中。再次提醒,完成该操作时应注意 IDE 的“选取和拖放”行为。

添加标签组件:

  1. 组件面板窗口中,单击 Swing 标签以显示可用的 Swing 组件。

  2. 选择 JLabel 组件。

  3. 单击编辑器中 ColorSwitch 窗体上的任意位置,将 JLabel 组件添加到窗体。

    编辑器中显示带有文本 "jLabel1" 的标签,并且在检查器的树视图中突出显示名为 "jLabel1 [JLabel]" 的节点。此外,JLabel 组件的属性显示在“属性”窗口中,并且其源代码添加到编辑器的“源”视图。

使用 GridBag 定制器调整布局

与其他布局不同,当选中“检查器”时,GridBagLayout 在“属性”窗口中没有可显示的属性。使用 GridBag 定制器可在 GridBagLayout 中对组件的位置和约束进行可视化调整。其包括 GridBag 约束的属性表单、调整约束的按钮和组件布局的简短描述。

使用 GridBag 定制器调整窗体的布局:

  1. 要打开 GridBag 定制器,请在检查器中右键单击 GridBagLayout 节点,然后选择“定制”

  2. 在工作区域(此窗口右边窗格)中,通过单击 JButton 的中部并将其拖动到 JLabel 组件下方,可以重新定位 JButton。当您拖动按钮时,黑色和红色网格表示可用的位置。另外请注意,左侧窗格中的“网格 X”和“网格 Y”属性也随之改变,以反映新位置。

  3. 选择 JLabel 组件,并将 JLabel 的“内部填充 Y”约束调整为 33,以便标签可以完全填充按钮上的单元。然后将其“填充”约束设置为“水平”。

  4. 建立组件的大概布局后,按 Ctrl 键同时选择 "JLabel" 和 "JButton",并且将两者的“插入”(左、右、上和下)设置为 5 以增加组件之间的空间。GridBag 定制器在组件周围以浅黄色边缘来显示插入量。

  5. 单击“关闭”退出 GridBag 定制器
  6. IDE 将更新已编辑的组件以反映这些组件的新位置和其他约束。尽管编辑器的“设计”视图不显示网格,但它现在包含一列和两行。

GridBag 定制器

当使用 GridBag 布局时,尽管 GridBag 定制器是您实际编辑窗体的位置,但是编辑器的“设计”视图能够更好地反映运行时中组件的外观。通常,使用 GridBag 定制器之前最好先勾画出布局的外观,这样将很有帮助。

对窗体进行最终调整

目前已经在窗体中对两个组件进行了排列,我们需要编辑标签,以便其在通过“颜色转换器”按钮激活时显示颜色。我们将通过删除标签的文本并改变其不透明属性来完成此操作,这样可以使其只在单击该按钮时才显示颜色。

编辑标签的属性:

  1. 编辑器的“设计”视图中,选择 JLabel 组件。

  2. “属性”窗口中,通过单击“属性”按钮显示组件的属性。

  3. 滚动到 text 属性,选择当前的 jLabel1 名称,然后删除文本,将该文本字段保留为空。按 Enter 键。

  4. 向下滚动到“其他属性”,选中 opaque 属性的复选框,然后再次按 Enter 键。
  5. jLabel1 组件从编辑器工作区中消失,但是,通过检查器中相应的节点仍可以将其选中。

最后,我们需要调整窗体的属性,以便该窗体在运行时以适当的尺寸进行显示。

编辑窗体的属性:

  1. 编辑器的“设计”视图中,选择检查器中的 JFrame 容器,然后选择“代码”按钮。

  2. “属性”窗口中,滚动到“生成调整大小代码”选项并将其设置为 True。按 Enter 键。

  3. 滚动到“窗体尺寸”属性,将尺寸设置为 [200, 150],然后按 Enter 键。
  4. 当您运行应用程序时,在窗口中将以新的尺寸生成窗体。

设置组件事件

目前您已经创建了必要的组件并将它们添加到我们的应用程序窗体,我们还需要建立这些组件与用户之间的交互性。可以采用几种方法完成此操作,但是针对本教程,我们将着重使用编辑器中的“源”视图直接输入代码。

设置按钮

首先应设置按钮以切换颜色。在此步骤中,我们将添加所需的用户输入方法及将进行监视的侦听程序代码。

添加鼠标事件:

  1. 如果焦点尚未设置,请将焦点放置在编辑器窗口(“设计”视图)中。
  2. 右键单击 jButton1 组件,然后选择“事件”提示“鼠标”提示 "MouseClicked"

    IDE 生成侦听程序代码 jButton1.addMouseListener 和事件方法 jButton1MouseClicked()。焦点切换到包含 ColorSwitcher 类的 Java 源代码的“源”视图,并将光标放置在我们将要添加事件处理代码(在以下步骤中)的行上。


提示 IDE 所生成的受保护的 Java 代码块具有浅蓝色背景,并且不能在“源”视图中直接编辑。要在受保护的块内编辑代码,请单击“设计”按钮返回到“设计”视图。

添加事件处理程序代码

创建了 jButton1MouseClicked() 方法之后,您可以添加定制代码,以在事件出现时对其进行处理。本教程中的目标是每次单击 "Switch Color" 按钮将更改标签的颜色。

添加代码:

  1. 编辑器工具栏中,找到“快速浏览”组合框(紧接在“设计”切换按钮的右侧),然后从 ColorSwitcher 应用程序的元素列表中选择 "JButton1"。光标显示在 JButton1 变量声明的开始位置,该声明位于 JButton1 的蓝色受保护块中。

  2. 将光标移到变量声明段下方的一行(大约在 67 行)。
  3. 提示 编辑器的“源”视图中,右键单击左边距然后选择“显示行号”可以显示行号。

  4. 声明以下新变量:
    private java.awt.Color currentColor = java.awt.Color.lightGray;
  5. “快速浏览”组合框中,选择 "jButton1MouseClicked"。将光标放在受保护块下方的 //Add your handling code here:(大约在第 50 行)之后,并键入以下代码:
    if (currentColor == java.awt.Color.lightGray)
        currentColor = java.awt.Color.gray;
    else if (currentColor == java.awt.Color.gray)
        currentColor = java.awt.Color.black;
    else
        currentColor = java.awt.Color.lightGray;
    jLabel1.setBackground (currentColor);
        
    提示 请注意,在最后一行在句点前,jLabel 后跟的是数字一 ("1") 而不是字母 "l"。

  6. 通过选择“文件”提示“保存”(Ctrl + S) 可以保存文件。

    IDE 将存储代码,并将错误图标放置在任何发现问题的行的左侧。

IDE 的编辑器中的“源”视图

通过单击编辑器工具栏中的“测试窗体”按钮,可以在工作时预览窗体。测试窗体在自己的窗口中打开,您可以在生成和运行之前对其进行测试。

使用“组件面板管理器”添加 GUI 组件

如果使用定制组件、bean 或组件库,则可以使用组件面板管理器将它们添加到 IDE 的组件面板,如下图所示。要启动“组件面板管理器”,请选择“工具”提示“组件面板管理器”

GUI 编辑器界面

查看操作中的 ColorSwitcher 应用程序

目前您已经成功生成了 ColorSwitcher 窗体,可以尝试应用程序查看结果。

编译和运行您的程序

目前已经创建了用户界面和组件之间的连接,您可以编译并运行您的应用程序了。

编译程序:

  1. 通过选择“生成”提示“编译”(F9),可以编译 ColorSwitcher。

    此时将打开“输出”窗口,显示进度和出现的任何错误。如果成功生成,主窗口底部的状态栏中会显示“已完成 ColorSwitcher”消息。

如果生成过程出现一些问题,在输出窗口中会显示错误消息。您可以通过双击一条错误消息来跳到源代码中发生错误的行。成功生成应用程序之后,您就可以运行它。

提示 或者,可以跳过生成步骤,而只是运行您的程序。IDE 将在运行程序之前自动编译所有已过期的类。

运行程序:

  1. 通过选择“运行”提示“运行其他项目”提示“运行主项目”(F6),可以运行 ColorSwitcher 应用程序。

    IDE 显示输出窗口。如果有执行错误,则 IDE 显示输出执行窗口。


当运行命令成功时,将显示 ColorSwitcher 应用程序,并且其显示在图像下面。在应用程序窗口中,单击 "Switch Color" 按钮可检查按钮上的区域的颜色变化。每次单击该按钮时,按钮上的标签应从浅灰变为中灰,然后变成黑色。完成应用程序测试之后,单击关闭该窗口退出应用程序。
第一次单击后的 ColorSwitch

有关进一步的研究

目前您已经完成了 IDE 的生成 GUI 的教程。有关如何使用 NetBeans IDE 的详细信息,请参见:

  • NetBeans 联机帮助。NetBeans IDE 自身附带的文档。按 F1 可以打开此联机帮助。
  • 使用 NetBeans IDE在 NetBeans IDE 中开发 Java 应用程序的完整指南。
  • NetBeans 支持和文档供 NetBeans IDE 用户参考的文章、常见问题解答和邮件列表的完整列表。

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   GlassFish Community: an Open Source Application Server   Open Solaris  Open JDK: an Open SourceJDK   Mobile & Embedded Community     Sponsored by 
Sponsored by Sun Microsystems