关于ActionListener的3种实现方法

java的swing中很难理解的一部分就是事件机制了下面是3种实现方法

1.正常的类实现方法,但这里是定义了新的事件类,再在里面定义按钮,更常规的做法是定义按钮和定义事件的都分开,但这样在编写大量的事件时明显非常冗余

 

import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JButton; 

public class TestActionListener1 implements ActionListener { 

    public void actionPerformed(ActionEvent e) { 
        System.out.println("你点击了按钮"); 
    } 

    public void test() { 
        JButton s_button = new JButton("按钮"); 
        s_button.addActionListener(this); 
    } 
} 

 

2.使用内部类来完成

 

import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JButton; 
public class TestActionListener2 { 

    public void test() { 
        JButton s_button = new JButton("按钮"); 
        MyButtonActionListener s_listener = new MyButtonActionListener(); 
        s_button.addActionListener(s_listener); 
    } 

    private class MyButtonActionListener implements ActionListener { 
        public void actionPerformed(ActionEvent e) { 
            System.out.println("你点击了按钮"); 
        } 
    } 
} 

 

 

3.更懒的方法,连名都不想命名了(反正都自己用)---内部匿名类

public class TestActionListener3 { 
    public void test() { 
        JButton s_button = new JButton("按钮"); 
        s_button.addActionListener(new ActionListener() { 
            public void actionPerformed(ActionEvent e) { 
                System.out.println("你点击了按钮"); 
            } 
        }); 
    } 
}

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值