/// MIDlet ///
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
public class testApp extends MIDlet{
Display display;
MyCanvas myCanvas;
public testApp(){
display = Display.getDisplay(this);
myCanvas = new MyCanvas();
}
protected void startApp() {
display.setCurrent(myCanvas);
}
protected void pauseApp() {}
protected void destroyApp(boolean unconditional) {}
}
///
/ MyCanvas ///
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
public class MyCanvas extends Canvas implements Runnable{
private Thread thread;
private static boolean Running;
private long FRAME_INTERVAL = 60; //刷新时间
public MyCanvas(){
Running = true;
thread = new Thread(this);
thread.start();
}
protected void hideNotify(){}
protected void showNotify(){}
protected void paint(Graphics g){}
protected void keyPressed(){}
protected void keyReleased(int keyCode) {}
public void run() {
long systemTime;
while (Running) {
systemTime = System.currentTimeMillis();
repaint();
serviceRepaints();
systemTime = System.currentTimeMillis() - systemTime;
try{
if (systemTime < FRAME_INTERVAL)
Thread.sleep((long)(FRAME_INTERVAL - systemTime));
else
Thread.sleep((long)5);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
/