学院首页
操作系统
图形图像
编程开发
网页制作
网络应用
办公应用
在线图书
当前位置导航:
炫浪网
>>
网络学院
>>
编程开发
>>
JAVA教程
>>
Java进阶
Swing中的ActionListener响应研究
关于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的,这点也许会造成些许使用的限制。
另一种其实是很常用的那种,前面也用到过,不过这里再写一遍好了,翻来翻去很麻烦的。
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();
}
}
两个程序的效果是一样的,都是点击了按钮后就结束程序。
上一篇:
Java Swing中的Accelerator Key
下一篇:
Java 编程语言中的口令屏蔽
相关内容
[更多]
关于JSP防范SQL注入攻击
用Java设计防病毒的电子邮件程序
您的Java代码安全吗—还是暴露在外?
Java理论与实践: 描绘线程安全性
漫谈Java加密技术(一)
J2EE 探索者: 用JAAS 和 JSSE 实现 Java 安全性
漫谈Java加密技术(二)
漫谈Java加密技术(三)
漫谈Java加密技术(四)
谈谈Java加密技术(五)
谈谈Java加密技术(六)
谈谈Java加密技术(七)
Java加密技术(八)
Java加密技术(九)
线程中断(interrupt)使用方法
singleton的几种实现方式
赞助商链接
【注意】炫浪网 版权所有,未经书面授权禁止模仿风格或建立镜像网站.如有违反,追究法律责任.
【声明】本网站部分内容属社区网友发布,本网站仅提供网友交流平台,但有权在本网站范围内引用、发布、
转载来自社区网友发布的内容。网友发布内容纯属个人行为,与本网站立场无关。本网站对于网友发布的
内容所引发的版权、署名权的异议及纠纷,不承担任何责任。 粤ICP备
11064832
号 公安备案编号:4453023010550