鼠标和键盘事件处理函数
所谓事件,就是指在系统中有某些我们所关心的事情(例如:鼠标移动了,用户按下了某个按键……等)发生了,然后系统便通知我们去处理这些事情。这样的概念在一般采用窗口用户界面环境的操作系统中,是十分常见的。
在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”键 |