keyeventtest.java

来自「java教程第八章事例」· Java 代码 · 共 79 行

JAVA
79
字号
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class KeyEventTest extends MIDlet{

	Display display;
	MyCanvas myCanvas;

	public KeyEventTest(){
		display = Display.getDisplay(this);
		myCanvas = new MyCanvas(this);
	}


	public void startApp(){
		display.setCurrent(myCanvas);
	}

	public void pauseApp(){

	}

	public void destroyApp(boolean unconditional){

	}

}

class MyCanvas extends Canvas implements CommandListener{

	Command exitCmd;
	String keyName = "";
	int status;
	final static int UP = 1;
	final static int DOWN = 2;
	KeyEventTest midlet;

	public MyCanvas(KeyEventTest midlet){
		exitCmd = new Command("退出", Command.EXIT, 1);
		addCommand(exitCmd);
		setCommandListener(this);
		this.midlet = midlet;
	}

	public void paint(Graphics g){

		g.setColor(0xFFFFFF);
		g.fillRect(0, 0, getWidth(), getHeight());
		g.setColor(0);
		if(status == 1){
			g.drawString("Key "+keyName+" is pressed!", 0, 50, Graphics.TOP|Graphics.LEFT);
		}
		else if(status == 2){
			g.drawString("Key "+keyName+" is pressed!", 0, 50, Graphics.TOP|Graphics.LEFT);
		}
	}

	public void keyPressed(int keyCode){
		keyName = getKeyName(keyCode);
		status = UP;
		repaint();
	}

	public void keyReleased(int keyCode){
		keyName = getKeyName(keyCode);
		status = DOWN;
		repaint();
	}

	public void commandAction(Command c, Displayable d){
		if(c == exitCmd){
			midlet.destroyApp(true);
			midlet.notifyDestroyed();
		}
	}

}

⌨️ 快捷键说明

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