Java--事件处理
事件处理过程涉及3类对象:
Event Source(事件源):事件发生的场所,通常就是各个组件,例如按钮、窗口、菜单等。
Event(事件):事件封装了GUI组件上发生的特定事情。
Event Listener(事件监听器):负责监听事件源所发生的事件,并对各种事件做出响应处理。
实现AWT事件处理机制的基本步骤:
1、实现事件监听器类,该监听器类是一个特殊的Java类,必须实现一个XxxListener接口;
2、创建普通组件(事件源),创建事件监听器对象;
3、调用方法addXxxListener()将事件监听器对象注册给普通组件(事件源)。
监听应用:
1、窗口监听的接口
接口:WindowsListener
接口中的方法:
public void WindowsActivated(WindowsEvent e) //**
public void WindowsClosed(WindowsEvent e) //释放
public void WindowsClosing(WindowsEvent e) //菜单关闭
public void WindowsDeactivated(WindowsEvent e) //失去焦点
public void WindowsDeiconified(WindowsEvent e) //到最大化
public void WindowsIconifiedWindowsEvent e) //到最小化
public void WindowsOpened(WindowsEvent e) //打开
2、按钮监听的接口
public void actionPerformed(ActionEvent e);
3、文本框监听的接口
public void textValueChanged(ActionEvent e);
import java.awt.*;
import java.awt.event.*;
public class Eventyong {
private Frame f=new Frame("测试事件");
private Button ok=new Button("确定");
//private Button exit=new Button("退出");
private TextField tf=new TextField(30);
public void init() {
//注册事件监听器
ok.addActionListener(new okListener());
f.addWindowListener(new MyListener());
f.add(tf);
f.add(ok,BorderLayout.SOUTH);
f.pack();
f.setVisible(true);
}
//定义事件监听器类
class okListener implements ActionListener{
//事件处理器,用于响应特定的事件
public void actionPerformed(ActionEvent e) {
System.out.println("用户单击了ok按钮");
tf.setText("Hello World");
}
}
class MyListener extends WindowAdapter{ //适配器
public void windowClosing(WindowEvent e) {
tf.setText("用户试图关闭窗口!\n");
System.exit(0);
}
}
public static void main(String[] args) {
new Eventyong().init();
}
}