多个按钮 实现一个监听器监听
package hike.lesson02;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class TestActionTwo {
public static void main(String[] args) {
// 两个按钮按下,实现同一个监听
Frame frame = new Frame("开始-停止");
Button btn1 = new Button("start");
Button btn2 = new Button("end");
// 可以显示的定义触发会返回的命令,如果不显示定义,则会走默认的值
// 可以实现 多个按钮 只用写 一个 监听类 , 实现公用
btn1.setActionCommand("start");
btn2.setActionCommand("end");
MyMonitor myMonitor = new MyMonitor();
btn1.addActionListener(myMonitor);
btn2.addActionListener(myMonitor);
frame.setLayout(new FlowLayout());
frame.add(btn1);
frame.add(btn2);
frame.setBounds(100,200,400,400);
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 MyMonitor implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
// e.getActionCommand() 获取按钮上的一些自定义的信息
System.out.println("按钮被点击了:msg=> " + e.getActionCommand());
if (e.getActionCommand().equals("start")){
System.out.println("start 按钮被点击了");
} else if(e.getActionCommand().equals("end")) {
System.out.println("end 按钮被点击了");
}
}
}