JavaGUI编程:AWT超详解第二部分,事件模型与监听

一. AWT授权事件模型

  • Java 最新的事件处理方法是基于授权事件模型
  • 事件源生成事件并将其发送至一个或多个监听器
  • 监听器简单地等待,直到它收到一个事件。一旦事件被接受,监听器将处理这些事件,然后返回
  • 事件源是一个对象,它可以注册一个或多个监听器对象,并向其发送事件对象。
  • 事件源将在发生事件时向所有注册的监听器发送事件对象。
  • 监听器对象使用事件对象中的信息来确定它们对事件的响应。

二. 事件

  • 在授权事件模型中,事件是一个描述事件源状态改变的对象 。
  • 事件的父类是EventObject,常用的子类包括:ActionEvent、FocusEvent、KeyEvent、MouseEvent等

事件体系结构:

在这里插入图片描述

AWT事件类型:

在这里插入图片描述
在这里插入图片描述

三. 监听器

  • 监听器通过实现 java.awt.event 包中定义的一个或多个接口来创建。
  • 在发生事件时,事件源将调用监听器定义的相应方法。
  • 有兴趣接收事件的任何监听器类都必须实现监听器接口。
  • 常用的监听器接口包括:ActionListener、FocusListener、KeyListener、MouseListener等

监听器接口列表:

在这里插入图片描述
在这里插入图片描述

四、适配器类

在这里插入图片描述

五、代码示例

示例一:创建一个多组件窗口,通过事件监听,将信息输出到文件中。

package package1;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.PrintStream;

class MyFrame extends Frame {
   
    Choice sexChoice = new Choice();
    Panel panel = new Panel();
    TextField nameField = new TextField();
    Button okButton = new Button("OK");
    Button exitButton = new Button("Exit");
    Checkbox lanJava = new Checkbox("Java");
    Checkbox lanCPP = new Checkbox("C++");


    public MyFrame(
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值