public class TestActionEvent { public static void main(String args[]) { Frame f = new Frame("Test"); Button b = new Button("Press Me!"); Monitor1 bh = new Monitor1(); //创建监听器 b.addActionListener(bh); //在button中添加监听器,button通过接口调用方法 //当button被点击时发出ActionEvent f.add(b, BorderLayout.CENTER); f.pack(); f.setVisible(true); } } //事件与接口一一对应,要监听某事件则必须实现对应的接口 class Monitor1 implements ActionListener { //实现监听接口 public void actionPerformed(ActionEvent e) { //具体信息包含在事件对象e中 System.out.println("a button has been pressed"); } }
public class TestActionEvent2 { public static void main(String args[]) { Frame f = new Frame("Test"); Button b1 = new Button("Start"); Button b2 = new Button("Stop"); Monitor2 bh = new Monitor2(); b1.addActionListener(bh);// 一个监听器对象监听了两个按钮 b2.addActionListener(bh); b2.setActionCommand("game over");//用于区分按钮 f.add(b1, "North"); f.add(b2, "Center"); f.pack(); f.setVisible(true); } }
class Monitor2 implements ActionListener { public void actionPerformed(ActionEvent e) { System.out.println("a button has been pressed," + "the relative info is:\n " + e.getActionCommand()); } }