java事件处理的三种方式
2016-03-29 00:49
429 查看
方法一:使用接口
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class JiSuanQi extends JFrame implements ActionListener{ JButton jb=new JButton("关闭"); JiSuanQi(){ this.setSize(350, 80); this.setLocation(300, 300); this.setTitle("计算器"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.add(jb); jb.addActionListener(this); } public static void main(String[] args) { JiSuanQi j=new JiSuanQi(); j.setVisible(true); } @Override public void actionPerformed(ActionEvent arg0) { if(arg0.getSource().equals(jb)){ System.exit(0); } } }
方法二:定义一个类,使用接口
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class JiSuanQi extends JFrame{ JButton jb=new JButton("关闭"); JiSuanQi(){ this.setSize(350, 80); this.setLocation(300, 300); this.setTitle("计算器"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.add(jb); jb.addActionListener(new ButtonAction()); } public static void main(String[] args) { JiSuanQi j=new JiSuanQi(); j.setVisible(true); } class ButtonAction implements ActionListener{ public void actionPerformed(ActionEvent arg0) { if(arg0.getSource().equals(jb)){ System.exit(0); } } } }
方法三:使用匿名内部类
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class JiSuanQi extends JFrame{ JButton jb=new JButton("关闭"); JiSuanQi(){ this.setSize(350, 80); this.setLocation(300, 300); this.setTitle("计算器"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.add(jb); jb.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0) { System.exit(0); } }); } public static void main(String[] args) { JiSuanQi j=new JiSuanQi(); j.setVisible(true); } }
相关文章推荐
- java第二十六节-UDP编程
- 如何修改myeclipse的内存?eclipse.ini中各个参数的作用
- Java并发:并发编程带来的好处和风险
- JAVA第三周学习任务
- 几种简单排序(java)
- Java并发:终止线程和关闭线程池
- LeetCode : First Missing Positive [java]
- Java方法中加泛型与不加区别
- Spring Boot实现异步请求(Servlet 3.0)
- spring+springmvc+hibernate完整示例
- (转)java的InputStream和OutputStream的理解
- Java 中的next nextLine方法
- Java SE Lesson3
- java.util.concurrent.CyclicBarrier 与 java.util.concurrent.CountDownLatch
- Eclipse出现Failed to create the part's controls
- Servlet工作原理以及源码解析
- java实现 快速排序
- Spring Ioc之BeanFactory
- Spring IoC之Bean管理
- 采用eclipse + gdb来搭建调试qemu源码的环境