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());
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值