0
点赞
收藏
分享

微信扫一扫

【Java AWT 图形界面编程】事件处理机制 ① ( 事件处理步骤 | 创建事件源对象 -> 自定义事件监听器 -> 创建监听器实例对象 -> 事件源绑定事件监听器 )


文章目录

  • ​​一、关闭按钮功能​​
  • ​​二、事件处理机制​​
  • ​​三、事件处理步骤​​






一、关闭按钮功能


在之前的博客中写的 AWT 界面程序 , 右上角有三个按钮 , 分别是 最小化 , 最大化 , 关闭 按钮 ,

其中 最小化 最大化

但是 关闭按钮 的 功能 需要 开发者自己添加 , 否则界面无法关闭 ;

在 AWT 界面上的组件 , 默认都是没有绑定事件的 , 有少数组件由系统提供绑定事件 , 大部分都需要开发者自己开发事件功能 ;

【Java AWT 图形界面编程】事件处理机制 ① ( 事件处理步骤 | 创建事件源对象 -> 自定义事件监听器 -> 创建监听器实例对象 -> 事件源绑定事件监听器 )_事件处理






二、事件处理机制


事件处理机制 就是 在 某个组件 上执行 某个操作 , 会 自动触发执行一段代码



事件处理 三要素 :

  • 事件源 : 触发事件的组件
  • 事件 : 在组件上 触发的操作就是事件 , 如 : 点击 , 按下 , 抬起 , 滑动 , 拖动 等 ; 事件都被封装在了 Event 中 , 具体的 事件信息可以从 Event 实例对象中获取 ;
  • 事件监听器 : 注册在 事件源 也就是 组件上的 监听器


注册监听 : 将 事件监听器 绑定 到 事件源



事件处理过程 :

  • 首先 , 需要将事件监听器 注册给 事件源 ;
  • 然后 , 外部的操作 作用在了 事件源 组件 上 ;
  • 再后 , 事件源 生成了 Event 事件对象
  • 最后 , 事件监听器 监听到了 事件 , 开始 执行 监听器 中的代码





三、事件处理步骤


事件处理步骤 :

  • 首先 , 创建 事件源 实例对象
  • 然后 , 自定义 事件监听器 类
  • 再后 , 创建 上述 自定义 事件监听器 实例对象 ;
  • 最后 , 调用 事件源 添加 事件监听器 的函数 , 在 事件源 上 注册 事件监听器 ;


代码示例 :

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class HelloAWT {
private Frame frame;
private FileDialog openDialog;
private MyActionListener myActionListener;

private void init() {
frame = new Frame("AWT 界面编程");
openDialog = new FileDialog(frame, "打开文件", FileDialog.LOAD);

// 1. 创建 事件源 实例对象 , 也就是 Component 组件对象
Button openButton = new Button("打开文件");

// 3. 创建 上述 自定义 事件监听器 实例对象
myActionListener = new MyActionListener();

// 4. 调用 事件源 添加 事件监听器 的函数 , 在 事件源 上 注册 事件监听器
openButton.addActionListener(myActionListener);

frame.add(openButton);
frame.pack();
frame.setVisible(true);
}

// 2. 自定义 事件监听器 类 , 该类实现 事件监听器接口 , 需要重写指定的方法 , 一般都使用匿名内部类
class MyActionListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// 显示 打开文件对话框
// 提示选择 文件
// 执行后代码会阻塞在此处
openDialog.setVisible(true);

// 文件选择完毕 , 就会执行后续代码
// 获取选择的 目录名称 和 文件名称
System.out.println("打开的文件路径 : "
+ openDialog.getDirectory()
+ openDialog.getFile());
}
}

public static void main(String[] args) {
new HelloAWT().init();
}
}

执行结果 : 点击按钮后 , 弹出对话框 ,

【Java AWT 图形界面编程】事件处理机制 ① ( 事件处理步骤 | 创建事件源对象 -> 自定义事件监听器 -> 创建监听器实例对象 -> 事件源绑定事件监听器 )_事件处理_02

在对话框中选择文件 ,

【Java AWT 图形界面编程】事件处理机制 ① ( 事件处理步骤 | 创建事件源对象 -> 自定义事件监听器 -> 创建监听器实例对象 -> 事件源绑定事件监听器 )_事件监听器_03

最终打印出选择文件的路径 :

打开的文件路径 : C:\Users\octop\Desktop\隐私政策.md

【Java AWT 图形界面编程】事件处理机制 ① ( 事件处理步骤 | 创建事件源对象 -> 自定义事件监听器 -> 创建监听器实例对象 -> 事件源绑定事件监听器 )_Event_04


举报

相关推荐

0 条评论