NetBeans 6.0 CLDC/MIDP 开发快速入门指南
本文档介绍使用 NetBeans IDE 6.0 创建 Java™ Platform、Micro Edition(Java™ ME 平台)、Mobile Information Device Profile (MIDP) 应用程序的基础知识。本文档旨在于帮助您尽快入门。以下教程介绍使用新项目系统的一些基本步骤。我们为您提供了两种方法来创建名为 MyHello 的 Java ME MIDP 项目,此项目在设备仿真程序中显示文本 Make my day。我们还将快速浏览一下 CLDC/MIDP 开发的其他 Mobility 功能。
目录
需求
必须安装 NetBeans IDE 6.0 Mobility 或完整版本(下载),才能开始 Java ME MIDP/CLDC 开发。Client/Server 部分需要完整版本以实现 Web 服务支持。如果只安装 Mobility Edition,则需要从更新中心 (Tools > Plugins) 下载以下插件:
- Web 应用程序
- Web 服务
- Sun Java 系统应用服务器
使用可视 Mobile 设计器创建 MIDP 应用程序
NetBeans IDE 提供了允许您快速创建 MIDP 项目的向导。创建项目时,可以选择在可视 Mobile 设计器(VMD) 或源代码编辑器中开发应用程序。
使用可视 Mobile 设计器允许您图形化地计划应用程序流程并设计应用程序使用的屏幕。此设计程序自动为应用程序创建代码。
创建 MIDP/CLDC 应用程序
- 选择“文件”>“新建项目”选项(Ctrl+Shift+N)。在“类别列表”中,选择“移动工具”选项。在“项目”列表中,选择“MIDP 应用程序”选项并单击“下一步”按钮。
- 在“项目名称”字段中输入
MyHello。将“项目位置”更改为您系统上的任意目录。在本教程中,我们将此目录称为 $PROJECTHOME。
- 选中“设为主项目”和“创建 Hello MIDlet”复选框(均默认选中)。单击“下一步”按钮。
- 选择 Sun Java Wireless Toolkit 2.52 for CLDC 作为“仿真器平台”,并使用其余默认值。单击“下一步”按钮。
- 展开 Configuration templates provided by installed CLDC platforms 和 Sun Java Wireless Toolkit 2.52 for CLDC 文件夹。选中每个配置旁边的框。IDE 自动为列出的每个模板创建新项目配置。

- 单击“完成”按钮。IDE 创建
$PROJECTHOME/MyHello 项目文件夹。项目文件夹包含所有源码和项目元数据,比如项目 Ant 脚本。应用程序本身将显示在可视 Mobile 设计器的“流设计”窗口中。

编辑 Java 源码
现在开始编辑 MIDlet 显示的文本。
- 单击“屏幕”。这将打开“屏幕设计器”窗口,并显示“设备”屏幕,这是此应用程序中惟一的可用屏幕。
- 在“属性”窗口中,单击“文本”字段并键入一些新文本。在本例中,键入了 Make my day。

- Screen 视图显示在“文本”字段中输入的文本的预览。

编译并运行项目
- 从“运行”菜单中选择“运行”>“运行主项目”(F6)。在“输出”窗口中遵循项目编译的进程。注意,
HelloMIDlet.java 文件在构建之后执行。设备仿真程序打开以显示已执行的 MIDlet 的结果。默认设备仿真程序是 DefaultColorPhone。
- 在设备仿真程序窗口中,单击“启动”命令下方的按钮。设备仿真程序启动 MIDlet 并显示在源码中输入的文本。

- 单击“退出”下方的按钮关闭 MIDlet。然后单击设备右上角中的按钮以关闭仿真程序窗口。
使用“源编辑器”创建 MIDP 应用程序
使用源代码编辑器,为 MIDlets 手动创建代码。在源代码编辑器中创建代码为您在编辑代码示提供了更多的灵活性,并允许您插入预处理器代码块。
现在,我们将使用“新建项目”和“新建文件”向导创建同一应用程序,并使用“源编辑器”完成代码。
创建新的 Java ME MIDP 项目
- 选择“文件”>“新建项目”(Ctrl-Shift-N)。在“类别列表”中,选择“移动工具”选项。在“项目”列表中,选择“MIDP 应用程序”选项并单击“下一步”按钮。
- 在“项目名称”字段中输入
MyHelloMIDlet(注意,MID 是大写字母)。将“项目位置”更改为您系统上的任意目录。在本教程中,我们将此目录称为 $PROJECTHOME。
- 选中“设为主项目”复选框,并取消选中“创建 Hello MIDlet”复选框。单击“下一步”按钮。
- 保留 J2ME 无线工具包为选中的“目标平台”。
- 展开 Configuration templates provided by installed CLDC platforms 和 2ME Wireless Toolkit 2.2 文件夹。选中每个配置旁边的框。IDE 自动为列出的每个模板创建新项目配置。
- 单击“完成”按钮。IDE 创建
$PROJECTHOME/MyHelloMIDlet 项目文件夹。项目文件夹包含所有源码和项目元数据,比如项目 Ant 脚本。
- 在 Explorer 窗口中右键单击
MyHelloMIDlet 节点并选择“新建”>MIDlet。
- 输入
HelloMIDlet 作为 MIDlet 名称(注意,MID 是大写字母)。单击“完成”按钮。HelloMIDlet.java 文件将创建。
- 双击
HelloMIDlet.java 文件以在 Editor 中显示源码。
- 在“源编辑器”中单击并将
public class HelloMIDlet extends MIDlet
更改为
public class HelloMIDlet
extends MIDlet implements javax.microedition.lcdui.CommandListener
{
- 在
startApp() 方法之前添加以下文本:
private void initialize() {
javax.microedition.lcdui.Display.getDisplay(this).setCurrent(get_helloTextBox());
}
public void commandAction(javax.microedition.lcdui.Command command, javax.microedition.lcdui.Displayable displayable) {
if (displayable == helloTextBox) {
if (command == exitCommand) {
javax.microedition.lcdui.Display.getDisplay(this).setCurrent(null);
destroyApp(true);
notifyDestroyed();
}
}
}
private javax.microedition.lcdui.TextBox get_helloTextBox() {
if (helloTextBox == null) {
helloTextBox = new javax.microedition.lcdui.TextBox(null, "Make My Day", 120, 0x0);
helloTextBox.addCommand(get_exitCommand());
helloTextBox.setCommandListener(this);
}
return helloTextBox;
}
private javax.microedition.lcdui.Command get_exitCommand() {
if (exitCommand == null) {
exitCommand = new javax.microedition.lcdui.Command("Exit", javax.microedition.lcdui.Command.EXIT,
1);
}
return exitCommand;
}
javax.microedition.lcdui.TextBox helloTextBox;
javax.microedition.lcdui.Command exitCommand;
- 将行
initialize(); 添加到 startApp() 方法中,所以它将如下所示:
public void startApp() {
initialize();
}
编辑 Java 源码
现在添加一些文本以让 MIDlet 显示。
- 在
get_helloTextBox() 方法中,将 test string 代码替换为所选的文本。例如,Make my day。
编译并运行项目
- 从“运行”菜单中选择“运行”>“运行主项目”(F6)。在“输出”窗口中遵循项目编译的进程。注意,
HelloMIDlet.java 文件在构建之后执行。设备仿真程序打开以显示已执行的 MIDlet 的结果。默认设备仿真程序是 DefaultColorPhone。
- 在设备仿真程序窗口中,单击“启动”命令下方的按钮。设备仿真程序启动 MIDlet 并显示在源码中输入的文本。
- 单击“退出”下方的按钮关闭 MIDlet。然后单击设备右上角中的按钮以关闭仿真程序窗口。
更多信息
有关使用 NetBeans Mobility 包的更多信息,请参阅以下页面: