下面是我的简单的一个代码,大家不必理会其他内容,只看红色标注的就好!!
----------------------------------------------------------------------------------------------------------------------------------------
package actionListener;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class ListenerDemo extends Frame {
private Button b1,b2;
private TextField tfd,tfd2;
public void init(){
b1 = new Button("Ok");
b2 = new Button("Cancel");
Label l1 = new Label("name:");
Label l2 = new Label("passed:");
tfd = new TextField(10);
tfd.setFont(new Font("宋体", Font.ITALIC | Font.BOLD, 14));
tfd2 = new TextField(10);
tfd2.setFont(new Font("黑体", Font.BOLD, 14));
Panel p = new Panel();
p.add(l1);
p.add(tfd);
p.add(l2);
p.add(tfd2);
p.setBackground(Color.BLUE);
add(p);
//给Button b1增加一个 监听器,监听者是一个Listener的对象
b1.addActionListener(new Listener());
b2.addActionListener(new Listener());
Panel p2 = new Panel(new FlowLayout(FlowLayout.CENTER));
p2.add(b1);
p2.add(b2);
p2.setBackground(Color.BLUE);
add(p2,BorderLayout.SOUTH);
}
public ListenerDemo() {
super("ListenerDemo");
init();
pack();
setVisible(true);
}
class Listener implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == b1){
String str = tfd.getText();
tfd2.setText(str);
tfd.setText("");
}
else if(e.getSource()==b2){
System.exit(0);//表示退出时正常退出的。
//System.exit(1);表示退出时非正常退出的。
}
}
}
public static void main(String[] args) {
new ListenerDemo();
}
}
----------------------------------------------------------------------------------------------------------------------------------------------------
将这个激发监听器的过程看作是一个警察局办理案件的事!!!
b1.addActionListener(new Listener());
public void actionPerformed(ActionEvent e)
-----------------------------------------------------------------------------------------------------------------------------
b1 ------ 事件源,宿舍
addActionListener ------- 看作是一个关于丢东西的监听器
new Listener() ------- 这个是警察局
ActionEvent e ------- 给警察局打的一个电话
-----------------------------------------------------------------------------------------------------------------------------
整个过程就是,当宿舍(b1)被偷了,然后打电话(ActionEvent e)给警察局,关于丢东西的监听器发生,在打电话的时候(click button),交给它的参数 警察局 (new Listener()) 处理 ,而警察局就会激发特定的方法来处理这件事。
通过ActionEvent e可以了解到丢东西的消息,时间,地点,等等
有图片仅供参考!!!!