没有合适的资源?快使用搜索试试~ 我知道了~
java使用Key_Button.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 28 浏览量
2022-06-26
10:06:45
上传
评论
收藏 629KB DOC 举报
温馨提示
试读
25页
java使用Key_Button.doc
资源推荐
资源详情
资源评论
使用 Key Button
目标:学会 key event/学会 event handling
上一讲我们使用 Canvas 进行了粗略的制图,掌握的差不多了吧。
是的。学会了画四边形和圆形。
本讲我们将制作通过终端按键显示 graphic 的程序。
1. Event handing
上一讲所作的程序只能在画面中显示图像是吧。
是啊。图像显示完就没有了,让人觉得好像不充实啊。
一般的终端应用,大多都可以利用操作按键来完成 interactive 动作。例如,按方
向键操作角色移动;按确定键发射子弹等。
的确,游戏都是这个样子的。这么说,时钟程序也可以利用按键来调时间了吧。
恩,不仅仅限于终端程序,PC 不也是利用鼠标点击来执行文件或者用按键来实现
interactive 动作么?这样的例子很多啊。
是啊。这样想来,许多地方都在使用按键输入呢。
像这样通过按键输入或者点击鼠标来执行命令是计算机的一个特征。用户通过按
键、鼠标输入的命令叫做 event,对 event 进行处理叫做 event handing。
1
1
2
3
4
5
6
7
8
1
2. Key event
2.1. 模板
先来看一下本讲使用的模板程序。我们将书写在这个程序里面。
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
/**
* 初级讲座第八讲模板程序
*
*/
public class TempleteApp extends MIDlet {
private Display display;
private Canvas keyCanvas;
/**
* constructor
*/
public TempleteApp(){
display = Display.getDisplay(this);
keyCanvas = new TempleteCanvas();
}
/**
* 开始应用程序
*/
protected void startApp() throws MIDletStateChangeException {
2
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
2
display.setCurrent(keyCanvas);
}
protected void pauseApp() {}
protected void destroyApp(boolean arg0) throws
MIDletStateChangeException {
}
}
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
/**
* 模板Canvas
* 付key event处理方法
*/
public class TempleteCanvas extends Canvas {
/**
* constructor
*/
public ChangeImageCanvas(){
}
/**
* 描画用方法
*/
protected void paint(Graphics g) {
}
3
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
3
/*****************************************
* key event处理
*****************************************/
/**
* 键被按下时的处理
*/
protected void keyPressed(int keyCode) {
//在这里记述处理
}
/**
* 离开键时的处理
*/
protected void keyReleased(int keyCode) {
//在这里记述处理
}
/**
* 连续按键时的处理
*/
protected void keyRepeated(int keyCode) {
//在这里记述处理
}
}
2.2. 处理 key event 的方法
本讲的模板程序与上一讲有一些不一样,看出来了么?
呵呵,程序变长了。
不光是这个拉!为什么变长知道么?
4
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
4
恩,Canvas 里面的方法增多了…
这就对了。在“key event 处理”comment 下面的三个方法是新增的。这里的方法
是进行 key event 处理的。它们各自的作用如下所示。
方法 作用
int keyPressed(int keyCode)
键被按下时的处理
int keyReleased(int keyCode)
离开键时的处理
int keyRepeated(int keyCode)
连续按键时的处理
“离开键时”是指从键被按下的状态离开时么?
恩。对了。
2.3. keyCode
那么。上面 key event 处理的自变量里面的“keyCode”,指的是什么呀?
恩,问的好。终端的按键含有不同分工的 keycode。用表概括一下,如下所示。
Key KeyCode
KeyCode 的值
0 Canvas.KEY_NUM0 48
1 Canvas.KEY_NUM1 49
2 Canvas.KEY_NUM2 50
3 Canvas.KEY_NUM3 51
4 Canvas.KEY_NUM4 52
5 Canvas.KEY_NUM5 53
6 Canvas.KEY_NUM6 54
7 Canvas.KEY_NUM7 55
8 Canvas.KEY_NUM8 56
9 Canvas.KEY_NUM9 57
* Canvas.KEY_STAR 42
# Canvas.KEY_POUND 35
5
104
105
106
107
108
109
5
剩余24页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3702
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功