【J2ME】 Debug 笔记(二)
2008-02-23 09:23:30来源:互联网 阅读 ()
网上有人给了我一个代码,很简单,出于初学,我看了又看,编译了一下,代码如下,错误如下:
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写的贪吃蛇游戏
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash