【J2ME】 Debug 笔记(二)

2008-02-23 09:23:30来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

网上有人给了我一个代码,很简单,出于初学,我看了又看,编译了一下,代码如下,错误如下:

MyMIDlet .Java

package J2MEprj;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class MyMIDlet extends MIDlet {
private static MyMIDlet instance;
private Displayable1 displayable = new Displayable1();

/** Constructor */
public MyMIDlet() {
instance = this;
}

/** Main method */
public void startApp() {
Display.getDisplay(this).setCurrent(displayable);
}

/** Handle pausing the MIDlet */
public void pauseApp() {
}

/** Handle destroying the MIDlet */
public void destroyApp(boolean unconditional) {
}

/** Quit the MIDlet */
public static void quitApp() {
instance.destroyApp(true);
instance.notifyDestroyed();
instance = null;
}

}

Displayable1.java

package j2meprj;

import javax.microedition.lcdui.*;
public class Displayable1 extends Form implements CommandListener {
/** Constructor */
public Displayable1() {
super("Displayable Title");
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public void paint (Graphics g){
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0,0,0);
g.drawString("Hello World",50,100,Font.SIZE_MEDIUM);
}
/**Component initialization*/
private void jbInit() throws Exception {
// Set up this Displayable to listen to command events
setCommandListener(this);
// add the Exit command
addCommand(new Command("Exit", Command.EXIT, 1));
}

/**Handle command events*/
public void commandAction(Command command, Displayable displayable) {
/** @todo Add command handling code */
if (command.getCommandType() == Command.EXIT) {
// stop the MIDlet
MyMIDlet.quitApp();
}
}

}

编译结果:

告诉我没有找到MyMIDlet 类

没有找到MyMIDlet 类,可能是因为没有放在一个包里,如果在一个包里应该没有问题,后来我试过,可以.

首先我去掉了package j2meprj; --- 瞎搞嘛

发现可以编译通过,但却只有Exit这个按钮,没有要出现的Hello World

然后, 把Form 替换成Canvas,^_^,把Displayable1()构造函数中的super去掉

结果就成了,Hello World 出来了,背景颜色也可以由我来调了

没有问题的代码:

MyMIDlet .java

package j2meprj;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

MyMIDlet extends MIDlet {
private static MyMIDlet instance;
private Displayable1 displayable = new Displayable1();

/** Constructor */
public MyMIDlet() {
instance = this;
}

/** Main method */
public void startApp() {
Display.getDisplay(this).setCurrent(displayable);
}

/** Handle pausing the MIDlet */
public void pauseApp() {
}

/** Handle destroying the MIDlet */
public void destroyApp(boolean unconditional) {
}

/** Quit the MIDlet */
public static void quitApp() {
instance.destroyApp(true);
instance.notifyDestroyed();
instance = null;
}

}

Displayable1.java

package j2meprj;

import javax.microedition.lcdui.*;
public class Displayable1 extends Canvas implements CommandListener {
/** Constructor */
public Displayable1() {
//super("Displayable Title");
try {
jbInit();
}
catch(Exception e) {
e.printStackTrace();
}
}
public void paint (Graphics g){
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0,0,0);
g.drawString("Hello sss World",50,100,Font.SIZE_MEDIUM);
}
/**Component initialization*/
private void jbInit() throws Exception {
// Set up this Displayable to listen to command events
setCommandListener(this);
// add the Exit command
addCommand(new Command("Exit", Command.EXIT, 1));
}

/**Handle command events*/
public void commandAction(Command command, Displayable displayable) {
/** @todo Add command handling code */
if (command.getCommandType() == Command.EXIT) {
// stop the MIDlet
MyMIDlet.quitApp();
}
}

}

OK now

有点菜,不能讲出原因,瞎琢磨贝

上一篇: Java下通用自动插入数据组件的编制
下一篇: 破解myeclipse4.0.x

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:以前用java写的贪吃蛇游戏

下一篇:Java下通用自动插入数据组件的编制