Swing中的ActionListener响应研究
2008-01-05 09:12:40 来源:WEB开发网核心提示:关于ActionListener的响应问题,就我的理解可以有两种方法,Swing中的ActionListener响应研究,第一种就是你放到一个新的类里面,实现ActionListener接口,前面也用到过,不过这里再写一遍好了,然后写好public void actionPerformed(ActionEvent e)
关于ActionListener的响应问题,就我的理解可以有两种方法。第一种就是你放到一个新的类里面,实现ActionListener接口,然后写好public void actionPerformed(ActionEvent e)的方法。这种当继续自JFrame还是蛮有用的,但是假如是一个在public static void main(String[] args)中建立一个JFrame,然后对里面的(比如按钮)实现监听,那么去实现ActionListener接口就不那么合适了(哎,很多都是当你做过后才知道什么是合适的),不过java提供了另一种解决方案:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class ActionListenerTest ...{
public static void main(String[] args) ...{
JFrame frame = new JFrame("Button Test");
frame.setDefaultCloSEOperation(JFrame.EXIT_ON_CLOSE);
final JButton jbClose = new JButton("Close the Frame");
jbClose.addActionListener(new ActionListener () ...{
public void actionPerformed(ActionEvent e) ...{
if (e.getSource().equals(jbClose)) ...{
System.exit(0);
}
}
}
);
frame.add(jbClose);
frame.pack();
frame.setVisible(true);
}
}
也就是在addActionListener的参数中新定义到一个ActionListenner并重写它的actionPerformed。不过要注重的是,这个actionPerformed一定要是public的,不然权限不够。还有就是里面用到的组件在外部必须声明为final的,这点也许会造成些许使用的限制。
另一种其实是很常用的那种,前面也用到过,不过这里再写一遍好了,翻来翻去很麻烦的。
Tags:Swing ActionListener 响应
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接