📄 xcanvas.java
字号:
package lib;
import com.nokia.mid.ui.*;
public abstract class XCanvas extends FullCanvas implements Runnable{
public static final int WIDTH=176;
public static final int HEIGHT=208;
public static final int KEY_UP=KEY_UP_ARROW;
public static final int KEY_DOWN=KEY_DOWN_ARROW;
public static final int KEY_LEFT=KEY_LEFT_ARROW;
public static final int KEY_RIGHT=KEY_RIGHT_ARROW;
public static final int KEY_SOFT1=KEY_SOFTKEY1;
public static final int KEY_SOFT2=KEY_SOFTKEY2;
//记录 上,下,左,右,2,8,4,6 的按键状态
static boolean[] keyStates=new boolean[8];
public boolean stop;
public XCanvas(){
}
protected void showNotify(){
for(int i=0;i<keyStates.length;i++) keyStates[i]=false;
}
protected void hideNotfiy(){
for(int i=0;i<keyStates.length;i++) keyStates[i]=false;
}
public void run(){
long currTime=System.currentTimeMillis();
long elapsedTime=0;
while(true){
if(stop) return;
repaint();
update(40);
try{
elapsedTime=System.currentTimeMillis()-currTime;
currTime+=elapsedTime;
if((70-elapsedTime)<=0)
continue;
else
Thread.sleep(70-elapsedTime);
}catch(Exception e){}
}
}
public static boolean getKeyStates(int keyCode){
switch(keyCode){
case KEY_UP:
return keyStates[0];
case KEY_DOWN:
return keyStates[1];
case KEY_LEFT:
return keyStates[2];
case KEY_RIGHT:
return keyStates[3];
case KEY_NUM2:
return keyStates[4];
case KEY_NUM8:
return keyStates[5];
case KEY_NUM4:
return keyStates[6];
case KEY_NUM6:
return keyStates[7];
default:
return false;
}
}
protected void keyPressed(int keyCode){
for(int i=0;i<keyStates.length;i++) keyStates[i]=false;
switch(keyCode){
case KEY_UP:
keyStates[0]=true;
break;
case KEY_DOWN:
keyStates[1]=true;
break;
case KEY_LEFT:
keyStates[2]=true;
break;
case KEY_RIGHT:
keyStates[3]=true;
break;
case KEY_NUM2:
keyStates[4]=true;
break;
case KEY_NUM8:
keyStates[5]=true;
break;
case KEY_NUM4:
keyStates[6]=true;
break;
case KEY_NUM6:
keyStates[7]=true;
break;
}
}
protected void keyReleased(int keyCode){
for(int i=0;i<keyStates.length;i++) keyStates[i]=false;
}
protected abstract void update(int elapsedTime);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -