Java图形程序设计(三)

本文深入探讨Java AWT事件模型,介绍了如何处理GUI组件和输入设备的事件,特别是按钮点击事件。通过示例展示了如何创建按钮,添加到面板,以及使用ActionListener接口和适配器类来响应用户交互。此外,还讲解了窗口监听器和窗口关闭事件的处理方式。
摘要由CSDN通过智能技术生成

想要实现用户界面,必须掌握 Java 事件处理的基本方法。现在开始探讨 Java AWT 事件模型的工作机制,从中可以看到如何捕获用户界面组件和输入设备产生的事件。另外,还将探讨如何以更加结构化的方式处理动作(actions)事件。

事件处理基础

任何支持 GUI 的操作环境都要不断地监视按键或点击鼠标这样的事件。操作环境将这些事件报告给正在运行的应用程序。如果有事件发生,每个应用程序将决定如何对它们做出响应。

像 Java 这样的面向对象语言,都将事件的相关信息封装在一个事件对象(event object)中。在 Java 中,所有的事件对象都最终派生于 java.util.EventObject 类。当然,每个事件类型还有子类,例如,ActionEvent 和 WindowEvent。

不同的事件源可以产生不同类别的事件。例如,按钮可以发送一个 ActionEvent 对象,而窗口可以发送 WindowEvent 对象。

为了深入了解事件委托模型,下面用一个相应按钮点击事件的简单实例来说明所需要知道的所有细节。在这个示例中,想要在一个面板中放置三个按钮,添加三个监听器对象用来作为按钮的动作监听器。

先上代码:

package button;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ButtonFrameTest {
   
    public static void main(String[] args) {
        EventQueue.invokeLater(() -> {
                JFrame frame = new ButtonFrame();
                frame.setTitle("ButtonFrameTest");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setVisible(true);
        });
    }
}

class ButtonFrame extends JFrame {
    private JPanel buttonPanel;
    private static final int DEFAULT_WIDTH = 300;
    private static final int DEFAULT_HEIGHT = 200;

    public ButtonFrame() {
        setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);

        //create buttons
        JButton yellowButton = new JButton("Yellow");
        JButton blueButton = new JButton("blue&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值