会员: 密码:  免费注册 | 忘记密码 | 会员登录 网页功能: 加入收藏 设为首页 网站搜索  
技术文档 > JAVA
Java Applet 入门 16
发表日期:2004-07-27 18:03:32作者: 出处:  

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”键

返回顶部】 【打印本页】 【关闭窗口

关于我们 / 给我留言 / 版权举报 / 意见建议 / 网站编程QQ群   
Copyright ©2003- 2024 Lihuasoft.net webmaster(at)lihuasoft.net 加载时间 0.00378