📄 basemidlet.java
字号:
package com.gt.mobile;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Screen;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class BaseMIDlet extends MIDlet implements Runnable{
public static Display display;
private Thread mainThread;
private static boolean isRunning=false;
private static int rate=80;
private static boolean flashBacklight=false;
// private BaseCanvas pendingCanvas;
private static BaseCanvas currentCanvas;
// private static Form currentForm;
private static Screen currentScreen;
public BaseMIDlet(){
display=Display.getDisplay(this);
mainThread=new Thread(this);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
System.out.println("BaseMIDlet destroyApp>>>"+arg0);
notifyDestroyed();
}
public static void exit(){
isRunning=false;
// try {
// isRunning=false;
// destroyApp(false);
// } catch (MIDletStateChangeException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
}
// public static final void alertError(String message){
// Alert alert=new Alert("Error");
// alert.setString(message);
// alert.setTimeout(Alert.FOREVER);
// display.setCurrent(alert);
// System.out.println(message);
// }
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() throws MIDletStateChangeException {
if(!isRunning){
mainThread.start();
}
}
public void run(){
isRunning=true;
long startTime,usedTime;
try{
while(isRunning){
// if(display!=null && flashBacklight){
// display.flashBacklight(rate);
// }
startTime=System.currentTimeMillis();
if(currentCanvas!=null){
try{
currentCanvas.doUpdate();
}
catch(Exception e){
Utility.println("BaseMIDlet run>>>currentCanvas.doUpdate exception>>>"+e.toString());
}
try{
currentCanvas.doRepaint();
}
catch(Exception e){
Utility.println("BaseMIDlet run>>>currentCanvas.doRepaint exception>>>"+e.toString());
}
}
if((usedTime=System.currentTimeMillis()-startTime)<rate){
try{
Thread.sleep(rate-usedTime);
}
catch(Exception e){
Utility.println("BaseMIDlet run>>>sleep exception>>>>"+e.toString());
}
}
}
destroyApp(false);
}
catch(Exception e){
e.printStackTrace();
}
//notyet//
}
// public void run(){
// isRunning=true;
// long startTime,usedTime;
// try{
// while(isRunning){
//// if(display!=null && flashBacklight){
//// display.flashBacklight(rate);
//// }
// startTime=System.currentTimeMillis();
// if(currentCanvas!=null){
// currentCanvas.doUpdate();
// currentCanvas.doRepaint();
// }
// if((usedTime=System.currentTimeMillis()-startTime)<rate){
// try{
// Thread.sleep(rate-usedTime);
// }
// catch(Exception e){
// Utility.println("BaseMIDlet run>>>sleep exception>>>>"+e.toString());
// }
// }
// }
// destroyApp(false);
// }
// catch(Exception e){
// e.printStackTrace();
// }
// //notyet//
// }
// public void setCurrentCanvas(BaseCanvas currentCanvas){
// if(this.currentCanvas!=currentCanvas){
// this.currentCanvas=currentCanvas;
// display.setCurrent(this.currentCanvas);
// }
// }
public static void setCurrentCanvas(BaseCanvas currentCanvas){
if(BaseMIDlet.currentCanvas!=currentCanvas){
BaseCanvas previousCanvas=BaseMIDlet.currentCanvas;
if(previousCanvas!=null)
previousCanvas.beforeHide();
BaseMIDlet.currentCanvas=currentCanvas;
BaseMIDlet.currentCanvas.beforeEnter();
display.setCurrent(BaseMIDlet.currentCanvas);
if(previousCanvas!=null)
previousCanvas.afterHide();
BaseMIDlet.currentCanvas.afterEnter();
// BaseMIDlet.currentForm=null;
BaseMIDlet.currentScreen=null;
}
}
public static BaseCanvas getCurrentCanvas(){
return (BaseCanvas)display.getCurrent();
}
// public static void setCurrentForm(Form form){
// currentCanvas=null;
// display.setCurrent(form);
// }
// public static Form getCurrentForm(){
// return currentForm;
// }
public static void setCurrentScreen(Screen screen){
if(currentCanvas!=null)
currentCanvas.beforeHide();
display.setCurrent(screen);
if(currentCanvas!=null)
currentCanvas.afterHide();
currentCanvas=null;
}
public static Screen getCurrentScreen(){
return currentScreen;
}
// protected void setRate(int rate){
// this.rate=rate;
// }
public static void setRate(int rate){
BaseMIDlet.rate=rate;
}
public static int getRate(){
return BaseMIDlet.rate;
}
public static void setFlashBacklight(boolean flash){
flashBacklight=flash;
}
public static boolean isFlashBacklight(){
return flashBacklight;
}
// private void updateLogic(){
//
// }
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -