GUI-多个按钮监听事件

GUI-多个按钮监听事件


package com.zuoyan.lesson;

import java.awt.*;
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");

        //设置标记,如果不设置,默认Button中默认值
        button1.setActionCommand("btn1-start");

        MyMonitor myMonitor = new MyMonitor();
        button1.addActionListener(myMonitor);
        button2.addActionListener(myMonitor);

        frame.add(button1, BorderLayout.EAST);
        frame.add(button2, BorderLayout.WEST);

        frame.pack();
        frame.setBounds(700, 300, 400, 400);
        frame.setVisible(true);
        WindowClose.windowClose(frame);

    }
}

class MyMonitor implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {
        if (e.getActionCommand().equals("btn1-start")) {
            System.out.println("开始按钮");
        } else {
            System.out.println("结束按钮");
        }
    }
}
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在WindowListener类中实现对Window类中多个按钮监听,需要使用内部类或者匿名内部类的方式来实现ActionListener接口。具体步骤如下: 1. 在WindowListener类中定义一个内部类或匿名内部类来实现ActionListener接口,该类必须实现actionPerformed方法。 2. 在WindowListener类中定义一个方法,该方法用于将内部类或匿名内部类注册到Window类中的多个按钮上。 3. 在WindowListener类的构造方法中调用该方法,将内部类或匿名内部类注册到Window类中的多个按钮上。 以下是一个示例代码: ``` import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; // WindowListener类实现对Window类中多个按钮监听 public class WindowListenerDemo extends JFrame implements WindowListener { private JButton btn1, btn2; public WindowListenerDemo() { super("Window Listener Demo"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setSize(300, 200); JPanel panel = new JPanel(); btn1 = new JButton("Button 1"); panel.add(btn1); btn2 = new JButton("Button 2"); panel.add(btn2); add(panel); // 注册内部类或匿名内部类到多个按钮中 btn1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Button 1 clicked!"); } }); btn2.addActionListener(new MyActionListener()); setVisible(true); } // 将内部类或匿名内部类注册到多个按钮中 private void registerEventHandlers() { btn1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Button 1 clicked!"); } }); btn2.addActionListener(new MyActionListener()); } // 内部类实现ActionListener接口 private class MyActionListener implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println("Button 2 clicked!"); } } // 实现WindowListener接口中的方法 public void windowOpened(WindowEvent e) {} public void windowClosing(WindowEvent e) {} public void windowClosed(WindowEvent e) {} public void windowIconified(WindowEvent e) {} public void windowDeiconified(WindowEvent e) {} public void windowActivated(WindowEvent e) {} public void windowDeactivated(WindowEvent e) {} public static void main(String[] args) { new WindowListenerDemo().registerEventHandlers(); } } ``` 在该示例代码中,我们定义了一个WindowListenerDemo类,该类实现了WindowListener接口,并在构造方法中创建了两个按钮。使用匿名内部类和内部类的方式来实现ActionListener接口,并将其注册到Window类中的多个按钮上。在registerEventHandlers方法中将内部类或匿名内部类注册到多个按钮中。在main方法中创建了WindowListenerDemo类的实例,并调用registerEventHandlers方法来注册内部类或匿名内部类到多个按钮中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mym_zuoyan_Tmac

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值