📄 scheduletest.java~9~
字号:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.List;
import java.util.*;
public class ScheduleTest extends MIDlet implements CommandListener{
Display display;
List list;
Command menuCmd;
Command exitCmd;
Command deleteTimerCmd;
Command deleteTimerTaskCmd;
Timer oneTimeTimer;
Timer fixedDelayTimer;
Timer fixedRateTimer;
MyTimerTask oneTimeTask;
MyTimerTask fixedDelayTask;
MyTimerTask fixedRateTask;
int oneTimeValue, fixedDelayValue, fixedRateValue;
static final int ONE_TIME = 0;
static final int FIXED_DELAY = 1;
static final int FIXED_RATE = 2;
public ScheduleTest(){
list = new List("调度方式",List.IMPLICIT);
exitCmd = new Command("退出",Command.EXIT,1);
menuCmd=new Command("menu",Command.EXIT,2);
deleteTimerCmd = new Command("取消Timer",Command.SCREEN,1);
deleteTimerTaskCmd = new Command("取消TimerTask",Command.SCREEN,2);
list.append("One time:"+oneTimeValue,null);
list.append("Fixed delay:"+fixedDelayValue,null);
list.append("Fixed rate:"+fixedRateValue,null);
list.setCommandListener(this);
list.addCommand(exitCmd);
list.addCommand(deleteTimerCmd);
list.addCommand(deleteTimerTaskCmd);
oneTimeTimer = new Timer();
fixedDelayTimer = new Timer();
fixedRateTimer = new Timer();
oneTimeTask = new MyTimerTask(ONE_TIME);
fixedDelayTask = new MyTimerTask(FIXED_DELAY);
fixedRateTask = new MyTimerTask(FIXED_RATE);
}
public void startApp(){
oneTimeTimer.schedule(oneTimeTask, 1000);
fixedDelayTimer.schedule(fixedDelayTask, 1000, 1000);
fixedRateTimer.scheduleAtFixedRate(fixedRateTask, 1000, 1000);
display = Display.getDisplay(this);
display.setCurrent(list);
}
public void pauseApp(){
}
public void destroyApp(boolean unconditional){
}
public void commandAction(Command c, Displayable d){
if(c == deleteTimerCmd){
switch(list.getSelectedIndex()){
case 0:
oneTimeTimer.cancel();
break;
case 1:
fixedDelayTimer.cancel();
break;
case 2:
fixedRateTimer.cancel();
break;
}
}
else if(c == deleteTimerTaskCmd){
switch(list.getSelectedIndex()){
case 0:
oneTimeTask.cancel();
break;
case 1:
fixedDelayTask.cancel();
break;
case 2:
fixedRateTask.cancel();
break;
}
}
else if(c == exitCmd){
destroyApp(false);
notifyDestroyed();
}
}
class MyTimerTask extends TimerTask{
int type;
public MyTimerTask(int type){
this.type = type;
}
public void run(){
int i = 0;
while(i<100000){
i++;
}
switch(type){
case ONE_TIME:
oneTimeValue++;
list.set(0, "One time:"+oneTimeValue,null);
break;
case FIXED_DELAY:
fixedDelayValue++;
list.set(1, "Fixed delay:"+fixedDelayValue,null);
break;
case FIXED_RATE:
fixedRateValue++;
list.set(2, "Fixed rate:"+fixedRateValue,null);
break;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -