教育路上
摘要:java AWT 事件处理,事件处理机制专门用于响应用户的操作,事件对象事件源,监听器。以下是我们为大家整理的,相信大家阅读完后肯定有了自己的选择吧。
2022-12-02 16:13网络推荐
11-1 实现了一个图形化窗口,点击窗口右上角的关闭按钮会发现窗口无法关闭,这说明
该按钮的点击功能没有实现。按理说 Frame 对象应该实现这个按钮的功能,之所以没有实现是
因为 Frame 的设计者无法确定用户关闭 Frame 窗口的方式,例如,是直接关闭窗口还是需要弹
出对话框询问用户是否关闭。如果想要关闭窗口,就需要通过事件处理机制对窗口进行监听。
事件处理机制专门用于响应用户的操作,比如,想要响应用户的点击鼠标、按下键盘等操
作,就需要使用 AWT 的事件处理机制。在学习如何使用 AWT 事件处理机制之前,首先向大家
介绍几个比较重要的概念。
事件对象(Event):封装了 GUI 组件上发生的特定事件(通常就是用户的一次操作)。
事件源(组件):事件发生的场所,通常就是产生事件的组件。
监听器(Listener):负责监听事件源上发生的事件,并对各种事件作出相应处理的对象(对象
中包含事件处理器)。
事件处理器: 监听器对象对接收的事件对象进行相应处理的方法。
上面提到的事件对象、事件源、监听器、事件处理器在整个事件处理机制中都起着非常重
要的作用,它们彼此之间有着非常紧密的联系,接下来用一个图例来描述事件处理的工作流程,
如图 11-6 所示。
图 11-6 事件处理流程图
例 11-2 Example02.java
import java.awt.*;
import java.awt.event.*;
public class Example02 {
public static void main(String[] args) {
// 建立新窗体
Frame f = new Frame("我的窗体!");
// 设置窗体的宽和高
f.setSize(400, 300);
// 设置窗体的出现的位置
f.setLocation(300, 200);
// 设置窗体可见
f.setVisible(true);
// 为窗口组件注册监听器
MyWindowListener mw=new MyWindowListener();
f.addWindowListener(mw);
}
}
// 创建 MyWindowListener 类实现 WindowListener 接口
class MyWindowListener implements WindowListener {
// 监听器监听事件对象作出处理
public void windowClosing(WindowEvent e) {
Window window = e.getWindow();
window.setVisible(false);
// 释放窗口
window.dispose();
}
public void windowActivated(WindowEvent e) {
}
public void windowClosed(WindowEvent e) {
}
public void windowDeactivated(WindowEvent e) {
}
public void windowDeiconified(WindowEvent e) {
}
public void windowIconified(WindowEvent e) {
}
public void windowOpened(WindowEvent e) {
}
}
编译运行程序,生成的窗口如图 11-7 所示。
例 11-2 中为窗口添加了关闭功能。首先创建了一个实现 WindowListener 接口的事件监听
器类 MyWindowListener,当通过 addWindowListener( )方法将窗口与监听器对象绑定后,如果点击
窗口右上角的关闭按钮,便会触发监听器对象的 windowClosing()方法,将当前窗口隐藏并且释放,
从而关闭了窗口。
图 11-7 例 11-2 运行结果
访客的评论 2024/04/19 20:22
文中描述的是准确的吗,如何报名!