J2ME低级用户界面设计出错(入门问题)

oyff 2004-08-27 10:57:56
代码:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;


public class lfcanvas extends Canvas{
private MIDlet midlet;
public lfcanvas(MIDlet midlet){
this.midlet = midlet;
}

protected void paint(Graphics g){
g.setColor( 255, 255, 255 );
g.fillRect( 0, 0, getWidth(), getHeight() );
g.setColor( 0, 0, 0 );
g.drawString( "Hello,World!", getWidth()/2, 0,g.TOP | g.HCENTER );
}
}


编译通过
运行时错误提示如下:
Project "lfcanvas" loaded
Project settings saved
Building "lfcanvas"
Build complete
Running with storage root DefaultColorPhone
Unable to create MIDlet lfcanvas
java.lang.IllegalAccessException
at com.sun.midp.midlet.MIDletState.createMIDlet(+19)
at com.sun.midp.midlet.Selector.run(+22)
Execution completed.

460001 bytecodes executed
21 thread switches
486 classes in the system (including system classes)
2578 dynamic objects allocated (78920 bytes)
2 garbage collections (60680 bytes collected)


第一个解决的就给全部分,谢谢了
...全文
84 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxj_lake 2004-08-27
  • 打赏
  • 举报
回复
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;


public class lfcanvas extends MIDlet{
Display display;
private lfcanvas2 canvas;
public lfcanvas(){
display = Display.getDisplay(this);
canvas = new lfcanvas2();
}

public void startApp() {
display.setCurrent(canvas);
}


public void pauseApp() {
}


public void destroyApp(boolean unconditional) {
display.setCurrent((Displayable)null);
}



}

class lfcanvas2 extends Canvas{

protected void paint(Graphics g){
g.setColor( 255, 255, 255 );
g.fillRect( 0, 0, getWidth(), getHeight() );
g.setColor( 0, 0, 0 );
g.drawString( "Hello,World!", getWidth()/2, 0,g.TOP | g.HCENTER );
}
}
efeng0973 2004-08-27
  • 打赏
  • 举报
回复
在线程里声明一个Midlet的引用,然后调用paint();paint()里面就不需要声明midlet的引用了。你在paint()里声明了一个Midlet的引用,你在paint里用到了吗?显然没有
efeng0973 2004-08-27
  • 打赏
  • 举报
回复
我不知道你是什么意思,是不是另外还有一个自己的线程在运行,在线程里控制你的paint(),这样的话,那就不需要声明midlet的引用。否则你得继承midlet,然后在startApp()里画图。
wxj_lake 2004-08-27
  • 打赏
  • 举报
回复
你这是要干嘛? 不继承 MIDLet 也想运行?

13,097

社区成员

发帖
与我相关
我的任务
社区描述
Java J2ME
社区管理员
  • J2ME社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧