本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020
在Swing的事件模型中,组件可以发起(触发)一个事件。每种事件的类型由不同的类表示,当事件被触发时,它将被一个或多个“监听器”接收,监听器负责处理事件。所以,事件发生的地方可以与事件处理的地方分离开。既然是以这种方式使用Swing组件,那么就只需要编写组件收到事件时将被调用的代码。所谓事件监听器,就是一个“实现特定类型的监听器接口”类对象。
下面,就以一个查找Swing组件里的addListener的例子来演示Swing事件模型,完整代码如下:
public class ShowAddListeners extends JFrame {
private JTextField name = new JTextField(18);
private JButton search = new JButton("查询");
private JTextArea results = new JTextArea(30,50);
//定义正则表达式匹配addListener
private static Pattern addListener = Pattern.compile("(add\\w+?Listener\\(.*?\\))");
private static Pattern qualifier = Pattern.compile("\\w+\\.");
public ShowAddListeners(){
setVisible(true);
setSize(600, 400);
JPanel top = new JPanel();
top.add(new JLabel("Swing Class name(press Enter):"));
top.add(name);
top.add(search);
add(BorderLayout.NORTH,top);
add(new JScr