我们创建一个名为 ColorSwitcher 的应用程序。它能将面板的颜色从浅灰切换到中灰和黑色。
一、创建新的 ColorSwitcher 应用程序项目:
选择 “文件”--> “新建项目”(Ctrl+Shift+N) 。或者,可以单击 IDE 工具栏中的 “新建项目” 图标。
在 “类别” 窗格中,选择 “常规” 文件夹。在 “项目” 窗格中,选择“Java 应用程序”,然后单击“下一步”。
在 “项目名称” 字段中输入 "ColorSwitcher" 并指定项目位置d:\App。
确保选中“设置为主项目”复选框,并取消选择“创建主类”(如果该选项已被选中)。
单击“完成”。
IDE 将在系统的指定位置创建 "d:\App\ColorSwitcher" 文件夹。该文件夹包含所有项目的关联文件,
可以使用“文件”窗口查看该结构。 如图:
二、创建容器
我们需要创建一个 Java 容器,用于放置其他需要的 GUI 组件。创建新应用程序之后,您可能注意到 “项目” 窗口中的“Source Packages”文件夹包含一个空 <缺省包> 节点。现在,我们将使用 JFrame 组件创建一个容器并将该容器放在一个新包中。
创建 JFrame 容器:
在 “项目” 窗口中,右键单击 "ColorSwitcher" 节点,然后选择 “新建” -->“JFrame 窗体” 。
输入 ColorSwitch 作为类名称。
输入 java3z.com 作为包。
单击“完成”。
IDE 将在 ColorSwitch.java 应用程序中创建 ColorSwitch 窗体和 ColorSwitch 类。 java3z.com包将替换 <缺省包> , ColorSwitcher 窗体在“设计”视图的“编辑器”窗口中打开。 如图:
点击查看大图
添加 JFrame 容器之后,IDE 在一个带有工具栏(该工具栏包含 “源” 和 “设计” 的切换按钮)的编辑器标签中打开新建的 ColorSwitch 窗体。通过使用工具栏中的这些切换按钮,您可以选择查看 ColorSwitch 类的源代码或其 GUI 组件的图形视图。
最初将在“设计”视图中打开 ColorSwitch 类,而且我们将主要使用如下三个面板,它们可以通过菜单中的“窗口”打开或关闭。
组件面板。 包含各种 JFC/Swing、AWT 和 JavaBeans 组件的标签,以及一系列布局管理器。
检查器。 提供所有组件的表示,包括在应用程序中表示为树状分层结构的可视和不可视组件。 检查器 也提供有关树中哪个组件正在 编辑器 中编辑的可视反馈,并允许您在可用面板中组织这些组件。
属性。 显示在 检查器 、 编辑器 、 项目 或 文件 窗口中当前选定组件的属性。
单击 “源” 按钮显示应用程序的 Java 源代码和 IDE 生成的代码部分(用蓝色的 保护块 表示,在“源”视图中不可编辑)。在“源”视图中时,只能在“编辑器”的白色区域中键入。单击 “设计” 按钮将使 IDE 的编辑器返回到图形视图。
进入讨论组讨论。
三、定义项目的主类
继续进行任何操作之前,我们需要使 IDE 了解哪个类为主类,以便能够正确生成和运行命令。可以将任何带有主方法的类设置为主类,但是本例中我们把在上一步中创建的 ColorSwitcher 类设置为主类。
设置主类:
在 “项目” 窗口中,右键单击 ColorSwitcher 项目节点,然后选择 “属性” 。
在左侧窗格中,选择“运行”节点下面的 “运行项目” 。
在右侧窗格中,单击 “主类” 字段右侧的 “浏览” 按钮。
在出现的 “浏览主类” 对话框中,选择 java3z.com.ColorSwitch 并单击 “选择主类” 。
单击“确定”退出 “项目属性” 对话框。
四、选择布局管理器
目前我们已经将 JFrame 添加为窗体的最上层容器,下一步是指定布局管理器,用来控制容器内组件的大小和位置。每种容器类型都有缺省的布局管理器。 JFrame 组件的缺省布局管理器是 BorderLayout,它将该容器分为五个部分(北、南、东、西和中)。
GridBagLayout 布局管理器,它使用一组复杂的组件属性(称为“约束”)对布局的所有方面进行精确控制。GridBagLayout 将组件放置在行和列的网格中,其中网格单元的大小不必完全相同。此外,组件可跨越多行或多列,或同时跨越行和列。
更改布局管理器:
在 组件面板 中,单击 “布局” 标签以访问 Java 基本类 (JFC) 中可用的布局管理器。 请注意,当鼠标位于 组件面板 中的布局图标上时,将出现一个工具提示,显示该布局管理器的名称。
单击 “布局” 标签中的 GridBagLayout 按钮。
单击 编辑器 中灰色 ColorSwitch 窗体上的任意位置,设置布局管理器。
GridBagLayout 将添加到 “检查器” 中的 JFrame 组件分层结构。 如图:
点击查看大图
五、添加组件
1、添加按钮:
在 Swing 组件面板中,选择 JButton 组件。
单击 编辑器 中 ColorSwitch 窗体上的任意位置,将 JButton 组件添加到窗体。
JButton 组件显示在 编辑器 的“设计”视图中,而其相应的节点显示在 “检查器” 中。 JButton 组件的源代码被添加到源代码,并且在“源”视图中可见。
现在编辑该按钮,以便它以所需的字体样式和大小显示正确的文本。
重命名按钮并更改其显示字体:
在 编辑器 的“设计”视图中,右键单击 JButton 组件,然后从上下文菜单中选择 “编辑文本” 。或者,您只需单击该按钮并按空格键即可。
在文本字段中输入 " Switch Color "。按 Enter 键。
在仍然选中 JButton 组件的情况下,滚动到 “属性” 窗口中的字体属性,并单击省略号 (...) 按钮。
在 “字体编辑器” 对话框中,将“字体样式”选择为“粗体”,并将“字体大小”选择为 "14"。单击“确定”。
JButton 组件标签 "Switch Color" 将以大号的粗体字型显示。
此时 编辑器中显示 "Switch Color" 按钮,该按钮位于其 JFrame 容器的中心,按钮边框为深紫色。
2、添加标签
由于我们的应用程序使用一个标签来显示将调用按钮的颜色,因此下一步我们需要添加标签。
添加标签组件:
在 组件面板 窗口中,单击 Swing 标签以显示可用的 Swing 组件。
选择 JLabel 组件。
单击 编辑器 中 ColorSwitch 窗体上的任意位置,将 JLabel 组件添加到窗体。
在 编辑器 中显示带有文本 "jLabel1" 的标签,并且在 检查器 的树视图中突出显示名为 " jLabel1 [JLabel] " 的节点。此外, JLabel 组件的属性显示在 “属性” 窗口中,并且其源代码添加到 编辑器 的“源”视图。
点击查看大图 进入讨论组讨论。
六、使用 GridBag 定制器调整布局
与其他布局不同,当选中 “检查器” 时,GridBagLayout 在 “属性” 窗口中没有可显示的属性。使用 GridBag 定制器 可在 GridBagLayout 中对组件的位置和约束进行可视化调整。其包括 GridBag 约束的属性表单、调整约束的按钮和组件布局的简短描述。
使用 GridBag 定制器调整窗体的布局:
要打开 GridBag 定制器 ,请在 检查器 中右键单击 GridBagLayout 节点,然后选择 “定制” 。
在工作区域(此窗口右边窗格)中,通过单击 JButton 的中部并将其拖动到 JLabel 组件下方,可以重新定位 JButton。当您拖动按钮时,黑色和红色网格表示可用的位置。另外请注意,左侧窗格中的“网格 X”和“网格 Y”属性也随之改变,以反映新位置。
选择 JLabel 组件,并将 JLabel 的 “内部填充 Y” 约束调整为 33,以便标签可以完全填充按钮上的单元。然后将其“填充”约束设置为“水平”。
建立组件的大概布局后,按 Ctrl 键同时选择 "JLabel" 和 "JButton",并且将两者的 “插入” (左、右、上和下)设置为 5 以增加组件之间的空间。 GridBag 定制器 在组件周围以浅黄色边缘来显示插入量。
单击“关闭”退出 GridBag 定制器 。
IDE 将更新已编辑的组件以反映这些组件的新位置和其他约束。尽管 编辑器 的“设计”视图不显示网格,但它现在包含一列和两行。
点击查看大图
七、对窗体进行最终调整
目前已经在窗体中对两个组件进行了排列,我们需要编辑标签,以便其在通过“颜色转换器”按钮激活时显示颜色。我们将通过删除标签的文本并改变其不透明属性来完成此操作,这样可以使其只在单击该按钮时才显示颜色。
编辑标签的属性:
在 编辑器 的“设计”视图中,选择 JLabel 组件。
在 “属性” 窗口中,通过单击 “属性” 按钮显示组件的属性。
滚动到 text 属性,选择当前的 jLabel1 名称,然后删除文本,将该文本字段保留为空。按 Enter 键。
向下滚动到 “其他属性” ,选中 opaque 属性的复选框,然后再次按 Enter 键。
jLabel1 组件从 编辑器 工作区中消失,但是,通过 检查器 中相应的节点仍可以将其选中。
最后,我们需要调整窗体的属性,以便该窗体在运行时以适当的尺寸进行显示。
编辑窗体的属性:
在 编辑器 的“设计”视图中,选择 检查器 中的 JFrame 容器,然后选择“代码”按钮。
在 “属性” 窗口中,“窗口大小策略”设为 “生成调整大小代码”,”生成大小“选项设置为 True。按 Enter 键。
滚动到 “窗体尺寸” 属性,将尺寸设置为 [200, 150],然后按 Enter 键。
当您运行应用程序时,在窗口中将以新的尺寸生成窗体。
八、设置组件事件
目前您已经创建了必要的组件并将它们添加到我们的应用程序窗体,我们还需要建立这些组件与用户之间的交互性。可以采用几种方法完成此操作,在这里,我们将着重使用 编辑器 中的“源”视图直接输入代码。
设置按钮
首先应设置按钮以切换颜色。在此步骤中,我们将添加所需的用户输入方法及将进行监视的侦听程序代码。
添加鼠标事件和代码:
如果焦点尚未设置,请将焦点放置在 编辑器 窗口(“设计”视图)中。
右键单击 jButton1 组件,然后选择 “事件” “鼠标” "MouseClicked" 。
IDE 生成侦听程序代码 jButton1.addMouseListener 和事件方法 jButton1MouseClicked() 。焦点切换到包含 ColorSwitcher 类的 Java 源代码的“源”视图,并将光标放置在我们将要添加事件处理代码的行上。
在事件方法private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {}中添加代码:
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);
在声明 private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
后添加以下新变量: private java.awt.Color currentColor = java.awt.Color.lightGray;
通过单击 编辑器 工具栏中的 “测试窗体” 按钮,可以在工作时预览窗体。测试窗体在自己的窗口中打开,您可以在生成和运行之前对其进行测试。
进入讨论组讨论。
IDE 所生成的受保护的 Java 代码块具有浅蓝色背景,并且不能在“源”视图中直接编辑。
九、使用“组件面板管理器”添加 GUI 组件
如果使用定制组件、bean或组件库,则可以使用”组件面板管理器“将它们添加到 IDE 的组件面板,如下图所示。要启动 “组件面板管理器” ,请选择 “工具” >“组件面板管理器” 。