📄 keyeventcanvas.java
字号:
/*
* 创建日期 2005-11-10
*
* TODO 要更改此生成的文件的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
package demo;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;
/**
* @author Administrator
*
* TODO 要更改此生成的类型注释的模板,请转至
* 窗口 - 首选项 - Java - 代码样式 - 代码模板
*/
final class KeyEventCanvas extends Canvas
implements CommandListener {
private String[] output;//弌椡僨乕僞
//僐儞僗僩儔僋僞
KeyEventCanvas() {
//弌椡僨乕僞
output=new String[6];
for (int i=0;i<6;i++) {
output[i]="";
}
//僐儅儞僪
addCommand(new Command("CMD0",Command.SCREEN,0));
addCommand(new Command("CMD1",Command.SCREEN,1));
setCommandListener(this);
}
//弌椡僨乕僞偺昞帵
public void paint(Graphics g) {
g.setColor((255<<16)+(255<<8)+255);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(255<<16);
for (int i=0;i<6;i++) {
g.drawString(output[i],0,18*(i+1),Graphics.LEFT|Graphics.BOTTOM);
}
}
//僉乕僾儗僗僀儀儞僩
protected synchronized void keyPressed(int keyCode) {
addOutput("PRESSED ",keyCode);
}
//僉乕儕儕乕僗
protected synchronized void keyReleased(int keyCode) {
addOutput("RELEASED ",keyCode);
}
//弌椡僨乕僞傪捛壛
private void addOutput(String data,int keyCode) {
//弌椡僨乕僞傪惗惉
int action=getGameAction(keyCode);
if (action==UP) {
data+="UP";
} else if (action==DOWN) {
data+="DOWN";
}
if (keyCode==KEY_NUM0) {
data+="NUM0";
} else if (keyCode==KEY_NUM1) {
data+="NUM1";
}
//弌椡僨乕僞傪捛壛
System.arraycopy(output,0,output,1,5);
output[0]=data;
repaint();
}
//僐儅儞僪傾僋僔儑儞僀儀儞僩
public void commandAction(Command c,Displayable s) {
System.arraycopy(output,0,output,1,5);
output[0]="PRESSED "+c.getLabel();
repaint();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -