Button事件监听

/*	范例名称:Java事件处理举例
 * 	源文件名称:TestActionEvent.java
 *	要  点:
 *  	1. Java事件处理机制
 *		2. 事件源、事件监听器概念及作用
 *		3. 如何在一个现有组件上注册监听器
 */

import java.awt.*;
import java.awt.event.*;

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");
	}
}
/*	范例名称:Java事件处理举例
 * 	源文件名称:TestActionEvent2.java
 *	要  点:
 *  	1. 一个事件源组件上可以同时注册多个监听器
 *		2. 一个监听器对象可以同时注册到多个事件源组件上
 *		3. 事件源的信息可以随它所触发的事件自动传递到所有注册过的监听器
 */

import java.awt.*;
import java.awt.event.*;

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());
	}
}

你可能感兴趣的:(java,F#)