关于ActionListener的响应问题,就我的理解可以有两种方法。第一种就是你放到一个新的类里面,实现Swing ActionListener接口,然后写好public void actionPerformed(ActionEvent e)的方法。这种当继承自JFrame还是蛮有用的,但是如果是一个在public static void main(String[] args)中建立一个JFrame,然后对里面的(比如按钮)实现监听,那么去实现Swing ActionListener接口就不那么合适了(哎,很多都是当你做过后才知道什么是合适的),不过Java提供了另一种解决方案:

创新互联凭借专业的设计团队扎实的技术支持、优质高效的服务意识和丰厚的资源优势,提供专业的网站策划、做网站、成都网站制作、网站优化、软件开发、网站改版等服务,在成都10余年的网站建设设计经验,为成都上千余家中小型企业策划设计了网站。
- 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的,这点也许会造成些许使用的限制。
另一种其实是很常用的那种,前面也用到过,不过这里再写一遍好了,翻来翻去很麻烦的。
- import java.awt.*;
 - import javax.swing.*;
 - import java.awt.event.*;
 - public class ButtonFrame extends JFrame implements ActionListener ...{
 - JButton jbClose = null;
 - public ButtonFrame() ...{
 - super("ButtonFrame Test");
 - jbClose = new JButton ("Close the Frame in ButtonFrame");
 - jbClose.addActionListener(this);
 - this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 - this.add(jbClose);
 - this.pack();
 - this.setVisible(true);
 - }
 - public void actionPerformed(ActionEvent e) ...{
 - if (e.getSource().equals(jbClose)) ...{
 - System.exit(0);
 - }
 - }
 - public static void main(String[] args) ...{
 - ButtonFrame bf = new ButtonFrame();
 - }
 - }
 
两个程序的效果是一样的,都是点击了按钮后就结束程序。 以上是介绍实现Swing ActionListener接口
                当前文章:实现SwingActionListener接口
                
                浏览路径:http://www.csdahua.cn/qtweb/news39/148439.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网