HelloWorld MIDlet 与使用 KJava HelloWorld 应用程序一样,这个 MIDlet 也会在
MIDP 设备的显示屏上显示 "Hello World!" 和 Exit 按钮,按下该按钮会终止应用程序。 HelloWorld.java
文件以下面的代码行开始,这些代码行导入稍后会在 HelloWorld 类中使用的类: import
javax.microedition.midlet.MIDlet; import
javax.microedition.lcdui.Command; import
javax.microedition.lcdui.CommandListener; import
javax.microedition.lcdui.Display; import
javax.microedition.lcdui.Displayable; import
javax.microedition.lcdui.Form; 由于 HelloWorld 类是一个 MIDP 应用程序,它扩展了
MIDlet。它也实现 CommandListener 接口来处理事件: public class HelloWorld
extends MIDlet implements
CommandListener 下面的方法是一个缺省构造程序,它创建一个新表单,在上面初始化控件,然后显示出来: private
Form form; public HelloWorld() { // Create a new
form on which to display our text form = new Form("Test
App"); // Add the text "Hello World!" to the
form form.append("Hello World!"); // Add a command button
labeled "Exit" form.addCommand( new Command( "Exit", Command.EXIT, 1 )
); // Register this object as a
commandListener form.setCommandListener( this ); } 调用
startApp() 方法启动应用程序与小应用程序的启动方法很象。在 MIDle 的一次执行中它可能会被调用多次。如果 MIDlet 暂停,pauseApp()
将会被调用。要重新启动 MIDlet,需调用
startApp()。仅须执行一次的主初始化代码应该放置在构造程序中: public void
startApp() { // Get a reference to the display, and show the
form Display display =
Display.getDisplay(this); display.setCurrent( form
); } pauseApp() 被调用使得 MIDlet
处于暂停状态。在此应用程序中,当进入暂停状态时,我们没执行任何操作;但是我们仍然需要在 MIDlet 中实现 pauseApp 方法,因为它是父 MIDlet
类中的抽象方法。 public void pauseApp() { } destroyApp() 被调用,破坏了 MIDlet
并使其处于销毁状态。在此应用程序中,我们通过将引用设为 null,释放了对表单的引用。 public void
destroyApp(boolean unconditional) { form =
null; } commandAction() 方法是事件处理程序,被请求实现 CommandListener
接口。目前,它破坏了应用程序并通知应用程序管理软件 MIDlet 已经完成。 public void
commandAction(Command c, Displayable d) { // Destroy this
MIDlet destroyApp(true); // Notify the application
management software that this MIDlet // has entered the destroyed
state notifyDestroyed(); }