- 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监听器添加的四种方式(自身、外部类、内部类、匿名类)
最新推荐文章于 2024-08-01 17:22:59 发布