HelloMIDlet的小问题
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMIDlet extends MIDlet
{
private Display display;
public HelloWorld() {
super ();
// TODO 自动生成构造函数存根
Form form = new Form( "Hello World ");
form.append( "Welcome to J2ME World! ");
Display.getDisplay(this).setCurrent(form);
}
public void startApp()
{
System.out.println( "startApp Called ") ;
Form t = new Form( "画面 ");
display.setCurrent(t);
}
public void pauseApp()
{
System.out.println( "pauseApp Called ") ;
}
public void destroyApp(boolean unconditional)
{
System.out.println( "destroyApp Called : " + unconditional) ;
}
}
错误:
Project "HelloMIDlet " loaded
Project settings saved
Building "HelloMIDlet "
C:\WTK25\apps\HelloMIDlet\src\HelloMIDlet.java:8: 方法声明无效;需要返回类型
public HelloWorld() {
^
1 错误
com.sun.kvem.ktools.ExecutionException
Build failed
修改下就给分
[解决办法]
出售手机游戏。QQ:779856263
[解决办法]
display.setCurrent(t);
还没有创建,就直接使用了,所以空指针了
改下试试:
display = Display.getDisplay(this);
display.setCurrent(t);
[解决办法]
同意楼上
[解决办法]
不明白你是什么意图。首先,运行进入构造函数执行。
这里边有个form
Form form = new Form( "Hello World ");
form.append( "Welcome to J2ME World! ");
Display.getDisplay(this).setCurrent(form);
并且你让他显示出来。
之后呢?程序执行进入startApp里
Form t = new Form( "画面 ");
display.setCurrent(t);
又建个空Form t干嘛?
你把上边这两句删掉吧。已经可以实现Hello World的目的了。
[解决办法]
你在public void startApp()
{
System.out.println( "startApp Called ") ;
Form t = new Form( "画面 ");
display.setCurrent(t);
}
中调用display,但是这个东西没有被创建,使用前,需要通过display = Display.getDisplay(this);来获得,即可使用了
[解决办法]
1)进入构造函数执行。显示“Welcome to J2ME World!”
执行完之后立马执行2):
2)进入startApp(),显示Form内容“画面”。
这两个之间的时间间隔太短了,一闪而过。建议把stratApp()方法中From和显示注释掉,就出来了!
[解决办法]
同意楼上
[解决办法]
哈哈