JAVA中实现窗口事件监听的两种方案

 

1.       AWT委托事件模型的基本概念及实现事件监听的流程

事件:是指一个状态的改变或者活动的发生。例如,单击窗口关闭按钮,将改变该窗口的状态,产生窗口关闭事件;单击一个按钮,将产生单击事件等。

事件类:不同的事件需要封装成不同的事件类。JAVAjava.awt.event包中定义了许多事件类,如窗口事件类(WindowEvent)和单击事件类(AcitionEvent)等,javax.Swing.event包中也有很多事件类。

事件源:事件源由用户操作产生,产生事件的组件称为事件源。例如,用户单击窗口关闭按钮的操作,产生窗口关闭事件,此时框架窗口组件就是事件源;单击一个按钮,将产生单击事件,此时的按钮组件就是事件源等。

事件监听器:事件发生时被通知的对象。主要分两步实现:事件源注册事件监听器和事件注册方法。

java.awt.Event包中的每个事件类都有一个对应的接口,在接口中声明了一个或多个抽象事件的处理方法,如ActionListner中的actionPerformed()方法。

如果一个类实现了事件监听器接口,即是注册了事件监听器,那么该类就具备了响应指定事件和事件处理的能力。例如,一个类为一个按钮注册了事件监听器addActionListner,并且实现了ActionListner接口中的actionPerformed()方法,则当单击事件发生时,就能执行actionPerformed()方法。

按钮单击事件的响应处理程序及处理流程为:

用户à单击按钮à事件源(Buttonà注册的à单击事件监听器à创建ActionEvent事件对象eà委托执行à执行ActionListner接口中的actionPerformed(ActionEvent e)事件处理方法。

2.       窗口事件实现方案

根据接口的性质,一个类如果实现了一个接口,就必须实现接口中所有的抽象方法。因此,一个类如果要实现一个包含多个方法的接口,即使只需要处理一个事件,也必须实现所有方法,对于不需要响应的事件处理方法也必须设计为空。

JAVA为此提供了一种简便的方法,即事件适配器类,类名带有Adapter标记。这样便引出了窗口事件的两种实现方法:

1)  直接在类中实现接口,对不需要响应的窗口事件置为空

2)  利用窗口适配器(WindowAdapter),继承它,即只需实现需要响应的事件。

3.       实例:一个简单的响应单击事件和窗口事件的计算器程序雏形

该窗口模拟Windows的计算器功能,添加一个文本行和四个按钮,单击【1】,【2】,【+】按钮时,将按钮的标签添加到文本行中;点击【C】按钮时,清空文本行内容;单击窗口的关闭按钮时,将关闭窗口。

程序如下:

import java.awt.event.*;

import java.awt.*;

 

public

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值