多亏 Project Matisse(NetBeans GUI Builder),使得用 NetBeans Mobility Pack 5.5 for CDC 创建用户界面变得更加容易。本文向您介绍如何使用 CDC Mobility Pack 的两个仿真器来为 CDC 设备创建登录界面。包含在各自 SDK 中的 Nokia 仿真器和 Sony Ericsson 仿真器都将基于 AWT 的 JSR-62 标准用于 Personal Profile 1.0。支持 AGUI-backed SWING 的设备如 JSR-209 中定义的那样,仍然有限,但是对于本演示而言,与 CDC Pack 绑定的 Sun Java Wireless Toolkit 仿真器就足够了。我们必须了解,AGUI 和 Personal Profile 创建 GUI 的能力几乎一样。究竟使用哪一个,要看应用程序部署在哪个设备上。
要求
硬件、软件和操作系统要求,请参见 NetBeans Mobility Pack 5.5 for CDC 发行说明。
如何安装所需软件,请参见 Mobility Pack 5.5 for CDC 安装指南。
如果以前没用过 CDC Pack,我们推荐您阅读 NetBeans for Mobility Pack for CDC 5.5 快速入门指南。
Sun Java Toolkit for CDC 已集成到 NetBeans Mobility Pack for CDC 中,而且它的仿真器支持 AGUI。不过,为了使用 Personal Profile 1.0 进行 CDC GUI设计,就需要下载并安装 Sony Ericsson 或 Nokia 的 SDK。有关如何安装这些 SDK 使其能与 Mobility Pack for CDC 共同使用的详细信息,请参见 Mobility Pack 5.5 for CDC 安装指南。
l Sony Ericsson
m UIQ 3 SDK (需登录后下载)
m M600 Extension Package for the UIQ 3 SDK Beta 3 (下载)
m P990 Extension Package for the UIQ 3 SDK Beta 3 (下载)
l Nokia
m Nokia Series 80 Platform SDK for Symbian OS、for Java、Personal Profile (下载)
用 AGUI 创建登录界面
在本部分中,我们使用上文所述的 Xlet 应用程序组件和高级图形用户界面(AGUI)创建一个简单的用户界面。
创建项目
1. 从主菜单中选择 File > New Project (Ctrl-Shift+N)。New Project 向导出现。
2. 从 CDC 类别中选择 CDC Application 模板,然后单击 Next。
3. 将项目的 Java Platform 指定为 Sun Java Toolkit 1.0 for Connected Device Configuration。设置好平台后,IDE 将 Device 设置为 DefaultColorPhone,并将 Profile 设置为 AGUI-1.0。单击 Next。
4. 为应用程序 cdcaguilogin 命名,然后单击 Finish 创建项目。
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1027" style="WIDTH: 450pt; HEIGHT: 183pt" alt="CDC Project Wizard with Default Emulator and Options Selected" type="#_x0000_t75"><imagedata o:href="http://www.netbeans.org/images/articles/mobilitycdc-matisse/agui-projectwizard.png" src="file:///C:/DOCUME~1/fujiang/LOCALS~1/Temp/msohtml1/01/clip_image001.png"></imagedata></shape>
创建登录界面
项目创建好后,本应使用 JFrame 组件。因为现在使用的是 AGUI 配置文件,我们要使用 AGUI Xlet 组件,因为与 JFrame 相比,AGUI 与 Xlet 之间有更好的兼容性。更改好之后,我们将 Xlet 设为主方法。
1. 在 Projects 窗口中,右键单击 Main 文件的节点,然后选择 Delete。
2. 右键单击 cdcaguilogin 项目节点,选择 New > AGUI Xlet Form。
3. 为 LoginScreen 文件命名,然后单击 Finish。
4. 在 Projects 窗口,右键单击 cdcaguilogin,选择 Properties。
5. 在 Project Properties 对话框的 Categories 窗口中选择 Run。
6. 单击 Browse 按钮。Browse Main Classes 对话框就出现了,对话框中 LoginScreen 文件已被选中。单击Select Main Class 按钮,然后单击 OK 按钮结束。
7. 使用 GUI Builder 创建登录界面。
<shape id="_x0000_i1026" style="WIDTH: 415.5pt; HEIGHT: 109.5pt" alt="Selecting AGUI Xlet form for login scren project" type="#_x0000_t75"><imagedata o:href="http://www.netbeans.org/images/articles/mobilitycdc-matisse/agui-xletselect.png" src="file:///C:/DOCUME~1/fujiang/LOCALS~1/Temp/msohtml1/01/clip_image003.png"></imagedata></shape>
现在我们可以通过扩展右边的 Palette 窗口开始操作:
1. 将 JLabel 项从 Palette 窗口拖动到布局管理器窗口中。
双击 JLabel 项并将其重命名为 Username。
2. 再拖动一个 JLabel 项,将它放在我们刚创建的 Username 标签下并与之对齐。
双击 JLabel 项并将其重命名为 Password。
3. 拖动 JTextField 项使之与 Username 字段对齐。双击 JTextField 项并删除文本使该字段为空。
4. 拖动 JPasswordField 项使之与 Password 字段对齐。
5. 将 JButton 项从 Palette 窗口拖动到布局管理器窗口中并将其对齐放在 Password 字段下面。双击 JButton 项并将其重命名为 Login。
6. 现在选择 Build > Build Main Project (或 F11)构建项目,确保一切都在运行中。
为 Login 按钮创建事件处理程序
要使 Login 按钮正常运行,我们需要为它创建事件处理程序。按如下方式将该功能添加到按钮中:
8. 右键单击 Login 按钮并选择 Events > Action > actionPerformed。
9. 将 IDE 切换到 Source 视图。将示例 // TODO add your handling code here: 替换为:System.err.println("Login Successful")。
10. 从主菜单中选择 Run > Run Main Project (F6)显示仿真器中的登录界面。
11. 单击仿真器的 Login 按钮来打印 IDE 输出窗口中的 "Login Successful" 消息。
用 Nokia 的 Series 80 设备仿真器创建具有 Personal Profile 1.0 的登录界面
在本部分中,我们将创建与第一个例子一样的用户界面,但是这次,我们将使用 AWT 和 Personal Profile 1.0 构建项目。记住,这两个选项间的主要区别在于其深层技术,而非其功能。
创建项目
1. 从主菜单中选择 File> New Project (Ctrl-Shift+N),New Project 向导出现。
2. 从 CDC 类别中选择 CDC Application 模板,然后单击 Next。
3. 本例中,我们要将 Java Platform 指定为 Nokia S80 CDC S80_DP2.0_PP_SDK。设置好平台后,IDE 将 Device 值设置为 S80 CDC S80_DP2.0_SDK 并将 Profile 设置为 PP-1.0,然后单击 Next。
4. 将应用程序命名为 cdcpplogin,然后单击 Finish 结束项目。
注意:如果您正在使用 Sony Ericsson UIQ 3 SDK 仿真器,本部分的操作步骤与使用 Nokia S80 SDK 相同且所选择的选项也相同。主要区别是项目运行时会出现不同的仿真器。
<shape id="_x0000_i1025" style="WIDTH: 414.75pt; HEIGHT: 188.25pt" alt="CDC Project Wizard with Nokia S80 Emulator and default options selected" type="#_x0000_t75"><imagedata o:href="http://www.netbeans.org/images/articles/mobilitycdc-matisse/pp-projectwizard.png" src="file:///C:/DOCUME~1/fujiang/LOCALS~1/Temp/msohtml1/01/clip_image005.png"></imagedata></shape>
创建登录界面
本项目中我们的首要任务就是将布局样式更改为 NetBeans GUI Builder 使用的 Free Design。
1. 在 Inspector 窗口中,右键单击 Frame 节点并选择 Set Layout > Free Design。
2. 将 Label 项从 Palette 窗口的 AWT 部分拖动到 GUI Builder 的 Design 视图中。因为 AWT 组件不支持原位编辑,我们必须更改 Properties 窗口中的 Label 显示文本。更改文本属性以读取 Username。
3. 重复上述步骤,为 Password 字段创建标签。
4. 拖动 TextField 项,使它与我们刚创建的 Username 标签相邻对齐。按上文所述,使用相同的方法编辑文本字段的值。这次我们要使 Username 和 Password 文本字段的为空。
5. 文本字段清空之后太小了,不过我们可以通过将字段右边缘向右拖动大约 <chmetcnv w:st="on" unitname="cm" sourcevalue="2" hasspace="False" negative="False" numbertype="1" tcsc="0"><span lang="EN-US">2cm</span></chmetcnv>(用户友好宽度)来容易地更正此问题。
6. 将 Button 项从 AWT 窗口拖动到 Design 视图中,并将其对齐放在 password 字段下面。在 Properties 窗口中找到标签字段并使用与上面相同的方法将显示文本重命名为 Login。
为 Login 按钮创建事件处理程序
要使 Login 按钮正常运行,我们需要为 Login 按钮创建事件处理程序。按如下方式将该功能添加到按钮中:
1. 右键单击 Login 按钮并选择 Events > Key > KeyPressed。
2. 将 IDE 切换到 Source 视图。将示例 // TODO add your handling code here:替换为:System.err.println("Login Successful")。
3. 从 Run 菜单中选择 Run > Run Main Project (F6)。
4. 单击仿真器的 Login 按钮来打印 IDE 输出窗口中的 "Login Successful" 消息。
英文地址:
http://www.netbeans.org/kb/55/mobilitycdc-matisse.html