这个应用程序将在屏幕中央显示 "Hello World!" 和一个 Exit 按钮,按下后即终止该应用程序。HelloWorld.java 开始时使用下面的几行代码导入将在后面的 HelloWorld
类中使用的类:
import com.sun.kjava.Button;
import com.sun.kjava.Graphics;
import com.sun.kjava.Spotlet;
下面的代码行将 HelloWorld
类定义为扩展 Spotlet
:
public class HelloWorld extends Spotlet
请记住 Spotlet
类提供用于处理事件的回调功能。在这个简单的示例中,我们只对一个事件感兴趣,即用户何时按下 Exit 按钮。下一个代码行存储对 Exit
按钮的引用:
private static Button exitButton;
如同在 J2SE 中一样,main()
方法定义程序的主要入口点。对于 J2ME 应用程序,main
也定义了入口点。在本例中,main()
创建了一个新的 HelloWorld
类的实例,它运行我们的应用程序。
public static void main(String[] args)
{
(new HelloWorld()).register(NO_EVENT_OPTIONS);
}
下一个代码块定义了构造程序。在构造程序中,我们首先创建一个 Button
并为其加上 "Exit" 标签。按钮起初是不可见的。当我们得到对图形对象的引用后,此按钮成了一个可画的屏幕,先清屏然后在屏幕中央画出文本 "Hello World!"。最后,我们在屏幕上添加 Exit 按钮。
public HelloWorld()
{
// Create (initially invisible) the "Exit" button
exitButton = new Button("Exit",70,145);
// Get a reference to the graphics object;
// i.e. the drawable screen
Graphics g = Graphics.getGraphics();
g.clearScreen();
// Draw the text, "Hello World!" somewhere near the center
g.drawString("Hello World!", 55, 45, g.PLAIN);
// Draw the "Exit" button
exitButton.paint();
}
最后,我们定义 penDown
事件处理程序,用来简单地检查 Exit 按钮是否被按下。如果已按下,就退出应用程序。
public void penDown(int x, int y)
{
// If the "Exit" button was pressed, end this application
if (exitButton.pressed(x,y))
System.exit(0);
}