摘要:java 窗体事件,其中用到了窗体事件和鼠标事件,在 AWT中提供了丰富的事件,大致可以分为窗体事件(WindowEvent)、鼠标事件(MouseEvent),键盘事件(KeyEvent)、动作事件(ActionEvent)等。以下是我们为大家整理的,相信大家阅读完后肯定有了自己的选择吧。
,大致可以分为窗体事件(WindowEvent)、鼠标事件(MouseEvent),键盘事件
(KeyEvent)、动作事件(ActionEvent)等,接下来就对这些事件逐一地进行讲解。
11.3.1 窗体事件
大部分 GUI 应用程序都需要使用 Window 窗体对象作为最外层的容器,可以说窗
体对象是所有 GUI 应用程序的基础,应用程序中通常都是将其他组件直接或者间接地置于窗体
中。
当对窗体进行操作时,比如窗体的打开关闭、激活、停用等,这些动作都属于窗体
事件,JDK 中提供了一个类 WindowEvent 用于表示这些窗体事件。在应用程序中,当对窗体事
件进行处理时,首先需要定义一个类实现 WindowListener 接口作为窗体监听器,然后通过
addWindowListener ()方法将窗体对象与窗体监听器绑定。按下来通过一个案例来实现对窗体事
件的监听,如例 11-5 所示。
例 11-5 Example05.java
import java.awt.*;
import java.awt.event.*;
public class Example05 {
public static void main(String[] args) {
final Frame f = new Frame("WindowEvent");
f.setSize(400,300);
f.setLocation(300,200);
f.setVisible(true);
// 使用内部类创建 WindowListener 实例对象,监听窗体事件
f.addWindowListener(new WindowListener() {
public void windowOpened(WindowEvent e) {
System.out.println("windowOpened---窗体打开事件");
}
public void windowIconified(WindowEvent e) {
System.out.println("windowIconified---窗体图标化事件
");
}
public void windowDeiconified(WindowEvent e) {
System.out.println("windowDeiconified---窗体取消图标
化事件");
}
public void windowDeactivated(WindowEvent e) {
System.out.println("windowDeactivated---窗体停用事件
");
}
public void windowClosing(WindowEvent e) {
System.out.println("windowClosing---窗体正在关闭事件
");
((Window) e.getComponent()).dispose();
}
public void windowClosed(WindowEvent e) {
System.out.println("windowClosed---窗体关闭事件");
}
public void windowActivated(WindowEvent e) {
System.out.println("windowActivated---窗体激活事件");
}
});
}
}
运行结果如图 11-9 所示。
图 11-9 例 11-5 运行结果
例 11-5 中,通过 WindowListener 对操作窗口的动作事件进行监听,当接收到特定
的动作后,就将所触发事件的名称打印出来。运行程序。当生成窗体后,控制台上输出
"windowActivated ---窗口激活事件”; 当点击窗体的最小化按钮后,控制台上依次输出
"windowIconified ---窗体图标化事件”、"windowDeactivated ---院体停用事件”; 当点击任务栏
上的图标,再次激活窗体后,控制台上依次输出“windowDeiconified ---窗体取消图标化事件”
“windowActivated -窗体激活事件”; 当点击窗体上的关闭按钮,关闭窗体时,控制台上依次输出
“windowClosing ---窗体正在关闭事件”、"windowDeactivated---位体停用事件”
“windowClosed---窗体关闭事件”。
了解了窗体事件,在以后的编程中,可以根据实际需求,在监听器中自定义窗体的
事件处理器。