⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keystate.java

📁 example2 众多JAVA实例源码...学习java基础的好帮手
💻 JAVA
字号:
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; 
	/**
	* 将物理键值转换为自定义键值
	* 说明:该方法和机型相关,下面是WTK的实现
	* @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) {
//		转换按键
		int key = convertKey(keyCode);
//		保存按键
		keyStates |= key;
		}
	
	public void keyReleased(int keyCode) {
//		转换按键
		int key = convertKey(keyCode);
//		清除按键
		keyStates &= ~key;
		}
	
	/**
	* 清除按键
	*/
	private void clearKey(){
		keyStates = 0;
	}
	
	protected void paint(Graphics g) {
		
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -