JAVA监听器添加的四种方式(自身、外部类、内部类、匿名类)
2011-07-16 22:57
501 查看
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class ThisClassEvent extends JFrame implements ActionListener{ public ThisClassEvent(){ setLayout(new FlowLayout()); JButton btn=new JButton("ok"); add(btn); btn.addActionListener(this); } public void actionPerformed (ActionEvent e){ System.out.println("The OK button is clicked"); } public static void main(String args[]){ ThisClassEvent frame = new ThisClassEvent(); frame.setTitle("自身类作为事件监听器"); frame.setLocationRelativeTo(null); // Center the frame frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(280, 100); frame.setVisible(true); new ThisClassEvent(); } } import java.awt.*; import java.awt.event.*; import javax.swing.*; public class OuterClassEvent extends JFrame{ public OuterClassEvent(){ setLayout(new FlowLayout()); JButton btn=new JButton("ok"); add(btn); OuterClass btListener=new OuterClass(); btn.addActionListener(btListener); } public static void main(String args[]){ OuterClassEvent frame = new OuterClassEvent(); frame.setTitle("外部类作为事件监听器"); frame.setLocationRelativeTo(null); // Center the frame frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(280, 100); frame.setVisible(true); new ThisClassEvent(); } } class OuterClass implements ActionListener{ public void actionPerformed(ActionEvent e){ System.out.println("The OK button is clicked"); } } import java.awt.*; import java.awt.event.*; import javax.swing.*; class InnerClassEvent extends JFrame{ public InnerClassEvent(){ setLayout(new FlowLayout()); JButton btn=new JButton("ok"); add(btn); OuterClass btListener=new OuterClass(); btn.addActionListener(btListener); } class InnerClass implements ActionListener{ public void actionPerformed (ActionEvent e){ System.out.println("The OK button is clicked"); } } public static void main(String args[]){ InnerClassEvent frame = new InnerClassEvent(); frame.setTitle("内部类作为事件监听器"); frame.setLocationRelativeTo(null); // Center the frame frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(280, 100); frame.setVisible(true); new ThisClassEvent(); } } import java.awt.*; import java.awt.event.*; import javax.swing.*; class AnonymousEvent extends JFrame{ public AnonymousEvent(){ setLayout(new FlowLayout()); JButton btn=new JButton("ok"); add(btn); btn.addActionListener( new ActionListener(){ //匿名内部类作为参数,new 一个lisenter实际上是创建了一个实现了这个listener的类 public void actionPerformed(ActionEvent e){ System.out.println("The OK button is clicked"); } } ); } public static void main(String args[]){ AnonymousEvent frame = new AnonymousEvent(); frame.setTitle("匿名内部类作为事件监听器"); frame.setLocationRelativeTo(null); // Center the frame frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(280, 100); frame.setVisible(true); new ThisClassEvent(); } }
相关文章推荐
- JAVA监听器添加的四种方式(自身、外部类、内部类、匿名类)
- 嵌套类的this + Java监听器类添加四个方法(自身、内部类、外部类、匿名内部类)
- 5.6-全栈Java笔记:内部类的四种实现方式
- java之九篇:外部类、内部类(匿名类)间形成的调用关系
- Java事件处理机制 - 事件监听器的四种实现方式(转)
- Java事件处理机制- 事件监听器的四种实现方式【转】
- Java事件处理机制- 事件监听器的四种实现方式
- Java实现事件监听器的四种方式
- Java事件处理机制- 事件监听器的四种实现方式
- Java事件处理机制- 事件监听器的四种实现方式
- Java事件处理机制- 事件监听器的四种实现方式
- java中内部类的创建四种情况,三种方式,及内部数据访问权限
- Java 注册监听器的方法总结(自身类this+外部类+内部类+匿名内部类+适配器Adapter+一个组件注册多个监听器)
- Java事件处理机制-事件监听器的四种实现方式
- Java 注册监听器的方法总结(自身类this+外部类+内部类+匿名内部类+适配器Adapter+一个组件注册多个监听器)
- Java事件处理机制 - 事件监听器的四种实现方式
- Java添加事件的四种方式
- Java事件处理机制- 事件监听器的四种实现方式
- [转]Java事件处理机制- 事件监听器的四种实现方式
- java中匿名内部类的两种实现方式