事件监听(窗口关闭、输入框事件、计算器、画笔、鼠标、窗口、键盘)

本文详细介绍了Java GUI中的事件监听,包括窗口关闭、输入框事件、简易计算器实现、画笔操作、鼠标监听、窗口监控及键盘监听。通过实例展示了如何处理各种交互事件,如关闭窗口、计算、绘制、响应鼠标和键盘输入。
摘要由CSDN通过智能技术生成

事件监听:当某个事情发生的时候,要做什么操作


目录

简单事件监听

输入框事件监听

简易计算器

画 笔

鼠标监听

窗口监控

键盘监听


​​​​​​​

简单事件监听

        1、关闭窗口

// 希望:按下按钮,可以触发一些事件
import java.awt.*;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class ActionEvent {
    public static void main(String[] args) {

        Frame frame = new Frame();
        Button button = new Button();

        // 因为 addActionListener() 需要一个 ActionListener
        // 所以我们需要构造一个 ActionListener
        MyActionListener myActionListener = new MyActionListener();
        button.addActionListener(myActionListener);

        frame.add(button, BorderLayout.CENTER);
        frame.setSize(300,300);
        windowClose(frame); //关闭窗口
        frame.setVisible(true);

    }

    // 关闭窗口的事件
    private static void windowClose (Frame frame) {
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }
}

// 事件监听
class MyActionListener implements ActionListener {

    @Override
    public void actionPerformed(java.awt.event.ActionEvent e) {
        System.out.println('a'); //点击按钮时输出a
    }
}

        2、两个按钮共享一个事件

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

// 两个按钮,实现同一个监听
public class ActionTwo {
    public static void main(String[] args) {
        Frame frame = new Frame("开始-停止");
        Button button1 = new Button("start");
        Button button2 = new Button("stop");

        button2.setActionCommand("button2-stop");

        MyMonitor myMonitor = new MyMonitor();

        button1.addActionListener(myMonitor);
        button2.addActionListener(myMonitor);

        frame.add(button1, BorderLayout.NORTH);
        frame.add(button2, BorderLayout.SOUTH);

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

class MyMonitor implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {
        // e.getActionCommand() 获得按钮的信息
        System.out.println("按钮被点击了:msg=> " + e.getActionCommand());
    }
}

 

输入框事件监听

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

public class TextAction {
    public static void main(String[] args) {
        new MyFrame1();
    }
}

class MyFrame1 extends Frame {
    public MyFrame1() {
        TextField textField = new TextField();
        add(textField);

        //监听这个文本框输入的文字
        MyActionListener1 myActionListener1 = new MyActionListener1();
        //按下enter,就会触发这个输入框监听事件
        textField.addActionListener(myActionListener1);

        setVisible(true);
        pack();
    }
}

class MyActionListener1 implements ActionListen
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值