Java Applet 入门
yy435
太平洋网络学院
第四天
鼠标和键盘事件处理函数
所谓事件,就是指在系统中有某些我们所关心的事情(例如:鼠标移动了,用户按下了某个按键……等)发生了,然后系统便通知我们去处理这些事情。这样的概念在一般采用窗口用户界面环境的操作系统中,是十分常见的。
在Java中,所有的事件都定义在类Event(java.awt.Event)内,读者有兴趣的话,可以参考Java的API。
1)鼠标事件。
鼠标时间一般有:mouseDown:当鼠标的按键被用户按下时,就会发生MOUSE_DOWN时间,这个时候系统便调用方法mouseDown对该事件进行处理。方法mouseDown的写法为:
public boolean mouseDown(Event e,int x,int y){ ……}
由上面可知,方法mouseDown有三个参数:e,x,y。e就是事件本身,我们把“事件”看成一个对象实体,只不过它的类是Event而已,同时,事件在使用上和一般的对象实体没有差别。而x,y则是这个时间发生时的鼠标的坐标值。要注意的是它的方法返回值是boolean型的值,这点要注意!另外,由于有些机器的鼠标只有一个按键,考虑到Java的与平台无关性,因此,这个方法中,就没有我们常见的右键的功能了。它不区分左右按键。
mouseUp:与前面的相反,这个方法是鼠标放开时的处理函数了,对于使用方法,与mouseDown完全相同。这儿就不多说了!
mouseMove:MOUSE_MOVE和MOUSE_DRAG都是由鼠标移动产生的事件,方法mouseMove就是用来处理MOUSE_MOVE事件的。方法为:
public boolean mouseMove(Event evt,int x,int y){…… }
所用到的参数和方法mouseDown和mouseUp的完全一样。
mouseDrag:从上面知道,这个方法当然是用来处理MOUSE_DRAG事件的。方法为:
public boolean mouseDrag(Event e,int x,int y){……}
mouseEnter:这个方法是用来处理MOUSE_ENTER事件的,当鼠标进入到小应用程序的窗口范围时,就会发生MOUSE_ENTER事件。处理方法为 :
public boolean(Event evt, int x,int y){……}
所用到的参数和前面一样,不多说了。
mouseExit:这个方法是用来处理MOUSE_EXIT事件的。当鼠标从小应用程序窗口移出来的时候,就会发生MOUSE_EXIT事件了。处理方法为:
public boolean (Event e,int x,int y){……}
好了,让我们来看一看具体的例子:[请点击这儿进入]
2)键盘事件:和鼠标比起来,键盘产生的时间就简单多了,一般说来,我们关心的就是用户按下了什么键,再处理就行了,而不必像鼠标那样还具有移动的事件要处理。它的主要事件有:
KEY_PRESS:按下键时产生;KEY_RELEASE:放开键盘按键的时候产生。处理它们方法方法分别为:
public boolean keyDown(Event evt,int x,int y){……}
public loolean keyUp(Event evt,int x,int y){……}
参数中的evt还是表示事件本身的对象,而key就是那个被用户按下或放开的案件。Java已经在类Event中,定义好一些表转的按键值,如下:
类变量 | 代表的按键 | 类变量 | 代表的按键 |
Event.Up | 方向键中的“上”键 | Event.F3 | “F3”键 |
Event.DOWN | 方向键中的“下”键 | Event.F4 | “F4”键 |
Event.LEFT | 方向键中的“左”键 | Event.F5 | “F5”键 |
Event.RIGHT | 方向键中的“右”键 | Event.F6 | “F6”键 |
Event.HOME | “Home”键 | Event.F7 | “F7”键 |
Event.END | “End”键 | Event.F8 | “F8”键 |
Event.PGUP | “Page Up”键 | Event.F9 | “F9”键 |
Event.PGDN | “Page Down”键 | Event.F10 | “F10”键 |
Event.F1 | “F1”键 | Event.F11 | “F11”键 |
Event.F2 | “F2”键 | Event.F12 | “F12”键 |