写了这样一段画直线的代码:
package paintTest;
import java.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
public class MCanvas extends Canvas {
public MCanvas() {
// TODO Auto-generated constructor stub
}
protected void paint(Graphics g) {
for(int i = 0;i<2;i++)
{
g.drawLine(50, 50, 150, 50);
g.translate(0, 50);
}
}
}
结果出错了,无法运行,错误为:java.lang.InstantiationException: Class not a MIDlet
查看及查找资料后发现没有继承MIDlet类,当然无法运行了,另外又写了一个MIDlet实现类,代码如下:
package paintTest;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class CanvasTestMIDlet extends MIDlet {
private Display display;
public CanvasTestMIDlet() {
display = Display.getDisplay(this);
// TODO Auto-generated constructor stub
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() throws MIDletStateChangeException {
MCanvas mc = new MCanvas();
display.setCurrent(mc);
// TODO Auto-generated method stub
}
}
轻松解决问题!
最后运行结果:
java.lang.InstantiationException: Class not a MIDlet
最新推荐文章于 2024-05-14 00:17:24 发布