【J2ME】 Debug 笔记(二)

王朝java/jsp·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

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

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

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航