package lesson2; import javax.swing.*; 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 TestActionEvebt { 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.pack(); 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(ActionEvent e) { } }
多个按钮写一个监听类:
package lesson2; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class TestActionEvebt2 { 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()); e.getActionCommand(); } }