首页 理论教育 常用事件分类|Java程序设计教程

常用事件分类|Java程序设计教程

时间:2023-11-16 理论教育 版权反馈
【摘要】:当对窗体进行操作时,比如窗体的打开、关闭、激活、停用等,这些动作都属于窗体事件,JDK 中提供了一个类WindowEvent 用于表示这些窗体事件。文件9-11Example11.java执行结果2. 鼠标事件在图形用户界面中,用户会经常使用鼠标来进行选择、切换界面等操作,这些操作被定义为鼠标事件,其中包括鼠标按下、鼠标松开、鼠标单击等。文件9-13Example13.java执行结果4. 动作事件动作事件与前面三种事件有所不同,它不代表某个具体的动作,只是表示一个动作发生了。

常用事件分类|Java程序设计教程

常用的事件主要包括:窗口事件(WindowEvent)、鼠标事件(MouseEvent)、键盘事件(KeyEvent)、动作事件(ActionEvent)。

1. 窗口事件

大部分GUI 应用程序都需要使用Window 窗体对象作为最外层的容器,可以说窗体对象是所有GUI 应用程序的基础,应用程序中通常都是将其他组件直接或者间接地置于窗体中。

当对窗体进行操作时,比如窗体的打开、关闭、激活、停用等,这些动作都属于窗体事件,JDK 中提供了一个类WindowEvent 用于表示这些窗体事件。在应用程序中,当对窗体事件进行处理时,首先需要定义一个实现了WindowListener 接口的类作为窗体监听器,然后通过addWindowListener()方法将窗体对象与窗体监听器绑定。

【例9.11】下面通过一个案例来实现对窗体事件的监听,如文件9-11 所示。

文件9-11 Example11.java

执行结果

2. 鼠标事件

在图形用户界面中,用户会经常使用鼠标来进行选择、切换界面等操作,这些操作被定义为鼠标事件,其中包括鼠标按下、鼠标松开、鼠标单击等。JDK 中提供了一个MouseEvent类用于表示鼠标事件,几乎所有的组件都可以产生鼠标事件。处理鼠标事件时,首先需要通过实现MouseListener 接口定义监听器(也可以通过继承适配器MouseAdapter 类来实现),然后调用addMouseListener()方法将监听器绑定到事件源对象。

【例9.12】下面通过一个案例来学习如何监听鼠标事件,如文件9-12 所示。

文件9-12 Example12.java

执行结果

读者可能会问,鼠标的操作分为左键单击双击和右键单击双击,而且还有滚轮。上面只给出这些事件的处理,能满足实际需求吗?答案是肯定的,MouseEvent 类中定义了很多常量来标识鼠标动作,如下所示:(www.xing528.com)

从上面的代码可以看出,MouseEvent 类中针对鼠标的按键都定义了对应的常量,可以通过MouseEvent 对象的getButton()方法获取被操作按键的常量键值,从而判断是哪个按键的操作。另外,鼠标的单击次数也可以通过MouseEvent 对象的getClickCount()方法获取到。因此,在鼠标事件中可以根据不同的操作做出相应的处理。

3. 键盘事件

键盘操作也是最常用的用户交互方式,例如键盘按下、释放等,这些操作被定义为键盘事件。JDK 中提供了一个KeyEvent 类表示键盘事件,处理KeyEvent 事件的监听器对象需要实现KeyListener 接口或者继承KeyAdapter 类。

【例9.13】下面通过一个案例来学习如何监听键盘事件,如文件9-11 所示。

文件9-13 Example13.java

执行结果

4. 动作事件

动作事件与前面三种事件有所不同,它不代表某个具体的动作,只是表示一个动作发生了。例如,在关闭一个文件时,可以通过键盘关闭,也可以通过鼠标关闭。在这里读者不需要关心使用哪种方式对文件进行关闭,只要是对关闭按钮进行操作,即触发了动作事件。

在Java 中,动作事件用ActionEvent 类表示,处理ActionEvent 事件的监听器对象需要实现ActionListener 接口。监听器对象在监听动作时,不会像鼠标事件一样处理鼠标的移动和单击的细节,而是去处理类似于“按钮按下”这样“有意义”的事件。

关于动作事件的案例将在后面的小节进行详细讲解,这里只演示一种可以通过动作事件实现的情况。如图9.12 所示。

图9.12 动作事件的实现情况

要想关闭上图的记事本程序,可以通过鼠标单击【退出】选项,或者在【文件】选项下,通过键盘的方向键将蓝色选中条移动至【退出】选项处单击回车键,这两个操作均可触发当前【退出】选项的动作事件ActionEvent。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈