?? keystate.java.svn-base
字號:
package opusmicro.demos.event;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
public class KeyState extends Canvas{
private int keyStates;
/**向上*/
private final int KEY_UP = 1;
/**向下*/
private final int KEY_DOWN = 1 << 1;
/**向右*/
private final int KEY_RIGHT = 1 << 2;
/**向左*/
private final int KEY_LEFT = 1 << 3;
/**5鍵*/
private final int KEY_FIRE = 1 << 4;
/**左軟鍵*/
private final int KEY_LEFT_SOFT = 1 << 5;
/**右軟鍵*/
private final int KEY_RIGHT_SOFT = 1 << 6;
/**特殊用途按鍵,例如0鍵*/
private final int KEY_ZERO = 1 << 7;
/**
* 將物理鍵值轉(zhuǎn)換為自定義鍵值
* 說明:該方法和機(jī)型相關(guān),下面是WTK的實(shí)現(xiàn)
* @param keyCode 物理鍵值
* @return 自定義鍵值
*/
private int convertKey(int keyCode) {
switch ( keyCode) {
case -6:
return KEY_LEFT_SOFT;
case -7:
return KEY_RIGHT_SOFT;
case Canvas.KEY_NUM2:
case -1:
return KEY_UP;
case Canvas.KEY_NUM4:
case -3:
return KEY_LEFT;
case Canvas.KEY_NUM6:
case -4:
return KEY_RIGHT;
case Canvas.KEY_NUM8:
case -2:
return KEY_DOWN;
case Canvas.KEY_NUM0:
return KEY_ZERO;
}
return 0;
}
public void keyPressed(int keyCode) {
// 轉(zhuǎn)換按鍵
int key = convertKey(keyCode);
// 保存按鍵
keyStates |= key;
}
public void keyReleased(int keyCode) {
// 轉(zhuǎn)換按鍵
int key = convertKey(keyCode);
// 清除按鍵
keyStates &= ~key;
}
/**
* 清除按鍵
*/
private void clearKey(){
keyStates = 0;
}
protected void paint(Graphics g) {
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -