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

📄 keyeventdemo.java

📁 jBuilderX无线应用开发源代码
💻 JAVA
字号:
import javax.microedition.midlet.MIDlet;
import javax.microedition.lcdui.*;

public class KeyEventDemo extends MIDlet
{
	private Display display;

	public KeyEventDemo(){
	}

	public void startApp(){
		display=Display.getDisplay(this);
		//创建KeyEventCanvas对象,并将其设置为当前要显示的屏幕
		KeyEventCanvas canvas = new KeyEventCanvas();
		display.setCurrent(canvas);
	}

	public void pauseApp(){
	}

	public void destroyApp(boolean unconditional){
	}
}

class KeyEventCanvas extends Canvas
{
	private int eventID=0;
	private String eventCotent="";
	private int gameKeyCode=0;

	//绘图方法
	protected void paint(Graphics g){
		//用白色填充整个屏幕
		g.setColor(255,255,255);		
		g.fillRect(0,0,getWidth(),getHeight());
		
		//发生keyPressed事件
		if(eventID == 1){
			g.setColor(255,0,0);
			g.drawString("KeyPressed:"+eventCotent,10,10,Graphics.LEFT|Graphics.TOP);
			eventID=0;
		}
		//发生keyReleased事件
		if(eventID == 2){
			g.setColor(0,0,255);
			g.drawString("keyReleased:"+eventCotent,10,20,Graphics.LEFT|Graphics.TOP);
			eventID=0;
		}

		//有游戏键被按下
		if(gameKeyCode!=0){
			g.setColor(0,0,0);
			g.drawString("game action key pressed:"+getGameActionName(gameKeyCode),10,50,Graphics.LEFT|Graphics.TOP);
			gameKeyCode=0;
		}
	}

	//当用户按下某个按键时,调用该方法
	protected void keyPressed(int keyCode){
		eventID=1;
		eventCotent=getKeyName(keyCode);
		gameKeyCode=getGameAction(keyCode);
		repaint();
	}	

	//当用户释放某个按键时,调用该方法
	protected void keyReleased(int keyCode){
		eventID=2;
		eventCotent=getKeyName(keyCode);
		repaint();
	}
	
	//根据键代码返回游戏键的名称
	public String getGameActionName(int keyCode){
		String name="";
		switch(keyCode){
			case Canvas.UP:
				name="UP";
				break;
			case Canvas.DOWN:
				name="DOWN";
				break;
			case Canvas.LEFT:
				name="LEFT";
				break;
			case Canvas.RIGHT:
				name="RIGHT";
				break;
			case Canvas.FIRE:
				name="FIRE";
				break;
			case Canvas.GAME_A:
				name="GAME_A";
				break;
			case Canvas.GAME_B:
				name="GAME_B";
				break;
			case Canvas.GAME_C:
				name="GAME_C";
				break;
			case Canvas.GAME_D:
				name="GAME_D";
				break;
		}
		return name;
	}
};

⌨️ 快捷键说明

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