1. Java 事件模型
为了使图形界面能够接收用户的操作,必须给给各个组件加上事件处理机制。
事件处理过程中,主要涉及3类对象:
Event Source(事件源):事件发生的组件,如:按钮,窗口等
Event(事件):封装了GUI组件上发生的事件,包含了事件发生的相关信息。
Event Listener(事件监听器):负责监听事件源上发生的事件,并做相应处理,一般自己实现相应接口,并添加到事件源组件上。
示例代码:
package se.example.awt.event;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class HelloWorldEvent {
private Frame f = new Frame("事件");
//事件源
private Button btn = new Button("hello");
private TextField tf = new TextField(30);
public void init(){
//注册事件监听器,事件是Action,监听器是ActionListener的一个实现
btn.addActionListener(new ActionListener(){
//事件的处理
@Override
public void actionPerformed(ActionEvent arg0) {
tf.setText("Hello world");
}
});
f.add(tf);
f.add(btn,BorderLayout.SOUTH);
f.pack();
//注册窗口事件的监听器,监听器通过实现事件适配器
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
f.setVisible(true);
}
public static void main(String[] args) {
new HelloWorldEvent().init();
}
}