Java事件处理的4种方法
2009-11-18 10:11
288 查看
第一种 自身类作为事件监听器
第二种 内部类作为事件监听器
第三种 匿名内部类作为事件监听器
第四种 外部类作为事件监听器
import javax.swing.*; import java.awt.*; import java.awt.event.*; /** *Java事件处理机制:自身类作为事件监听器 *@author Winty(wintys@gmail.com) *@version 2008-12-3 */ class ThisClassEvent extends JFrame implements ActionListener{ JButton btn; public ThisClassEvent(){ super("Java事件监听机制"); setLayout(new FlowLayout()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); btn=new JButton("点击"); btn.addActionListener(this); getContentPane().add(btn); setBounds(200,200,300,160); setVisible(true); } /**************************************/ public void actionPerformed (ActionEvent e){ Container c=getContentPane(); c.setBackground(Color.red); } /**************************************/ public static void main(String args[]){ new ThisClassEvent(); } }
第二种 内部类作为事件监听器
import java.awt.*; import java.awt.event.*; import javax.swing.*; /** *Java事件处理机制:内部类作为事件监听器 *@author Winty(wintys@gmail.com) *@version 2008-12-3 */ class InnerClassEvent extends JFrame{ JButton btn; public InnerClassEvent(){ super("Java事件监听机制"); setLayout(new FlowLayout()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); btn=new JButton("点击"); btn.addActionListener(new InnerClass()); getContentPane().add(btn); setBounds(200,200,300,160); setVisible(true); } /*内部类*********************************/ class InnerClass implements ActionListener{ public void actionPerformed (ActionEvent e){ Container c=getContentPane(); c.setBackground(Color.red); } } /**************************************/ public static void main(String args[]){ new InnerClassEvent(); } }
第三种 匿名内部类作为事件监听器
import java.awt.*; import java.awt.event.*; import javax.swing.*; /** *Java事件处理机制:匿名内部类作为事件监听器 *@author Winty(wintys@gmail.com) *@version 2008-12-3 */ class AnonymousEvent extends JFrame{ JButton btn; public AnonymousEvent(){ super("Java事件监听机制"); setLayout(new FlowLayout()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); btn=new JButton("点击"); /*匿名内部类******************************/ btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ Container c=getContentPane(); c.setBackground(Color.red); } } ); /***************************************/ getContentPane().add(btn); setBounds(200,200,300,160); setVisible(true); } public static void main(String args[]){ new AnonymousEvent(); } }
第四种 外部类作为事件监听器
import java.awt.*; import java.awt.event.*; import javax.swing.*; /** *Java事件处理机制:外部类作为事件监听器 *@author Winty(wintys@gmail.com) *@version 2008-12-3 */ class OuterClassEvent extends JFrame{ JButton btn; public OuterClassEvent(){ super("Java事件监听机制"); setLayout(new FlowLayout()); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); btn=new JButton("点击"); btn.addActionListener(new OuterClass(this)); getContentPane().add(btn); setBounds(200,200,300,160); setVisible(true); } public static void main(String args[]){ new OuterClassEvent(); } } /*外部类*********************************/ class OuterClass implements ActionListener{ OuterClassEvent oce; public OuterClass(OuterClassEvent oce){ this.oce = oce; } public void actionPerformed(ActionEvent e){ Container c=oce.getContentPane(); c.setBackground(Color.red); } } /**************************************/
相关文章推荐
- JAVA事件处理的三种不同方法
- Java图形界面事件监听处理之四种方法
- 使用handleEvent()方法,action()方法和mouseDown()方法处理事件的JAVA Application程序.
- Java Swing 中三种事件处理方法之比较
- Android UI事件处理——实现事件监听接口的4种方法
- Java GUI之事件监听与处理的匿名类实现方法
- Java Swing 中三种事件处理方法之比较
- Java Swing 中三种事件处理方法之比较
- 【资料】对Java Swing 中三种事件处理方法的比较
- java事件监听机制中的事件、监听器接口、处理方法、事件源
- Java Swing 中三种事件处理方法之比较
- Java 图形界面编程 中三种事件处理方法之比较
- java 添加事件4种方法
- Java Swing 中三种事件处理方法
- [精华] Java Swing 中三种事件处理方法之比较
- java处理按钮点击事件的方法
- JAVA事件处理的三种不同方法
- Java GUI之事件监听与处理的匿名类实现方法
- 内省(Introspector)是Java 语言对Bean类属性、事件的一种缺省处理方法
- Java图形界面事件监听处理之四种方法