📄 midp2event_canvas.java
字号:
package ch04;
import javax.microedition.lcdui.*;
import javax.microedition.lcdui.game.*;
public class MIDP2Event_Canvas
extends GameCanvas {
//声明一个代表屏幕宽度的int型属性变量
private int width;
//声明一个代表屏幕高度的int型属性变量
private int height;
//声明一个代表按键信息的变量
String text = "MIDP2.0游戏按键测试";
//构造器
MIDP2Event_Canvas() {
//支持键盘事件
super(false);
//获取屏幕宽度和高度
width = getWidth();
height = getHeight();
}
/*
3.实现paint()方法
*/
public void paint(Graphics g) {
g.setColor(0xffffff);
g.fillRect(0, 0, width, height);
g.setColor(0x000000);
g.drawString(text, 0, height / 2, Graphics.LEFT | Graphics.TOP);
}
/*
4.响应按键事件
*/
protected void keyPressed(int keyCode) {
int keyState = getKeyStates();
if ( (keyState & LEFT_PRESSED) != 0) {
text = "您点击了向左方向键←!";
}
if ( (keyState & RIGHT_PRESSED) != 0) {
text = "您点击了向右方向键→!";
}
if ( (keyState & UP_PRESSED) != 0) {
text = "您点击了向上方向键↑!";
}
if ( (keyState & DOWN_PRESSED) != 0) {
text = "您点击了向下方向键↓!";
}
if ( (keyState & LEFT_PRESSED) != 0 && (keyState & UP_PRESSED) != 0) {
text = "您点击了向左上方向键↖!";
}
if ( (keyState & LEFT_PRESSED) != 0 && (keyState & DOWN_PRESSED) != 0) {
text = "您点击了向左下方向键↙!";
}
if ( (keyState & RIGHT_PRESSED) != 0 && (keyState & UP_PRESSED) != 0) {
text = "您点击了向右上方向键↗!";
}
if ( (keyState & RIGHT_PRESSED) != 0 && (keyState & DOWN_PRESSED) != 0) {
text = "您点击了向右下方向键↘!";
}
repaint();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -