Swing 的按钮循环添加点击事件并被公共访问

package Other;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Test extends JFrame{

    private ButtonTest bt;//定义按钮对象
    public Test(){
        //下面this的是初始化JFrame窗口
        this.setTitle("JButton事件例子");//标题
        this.setBounds(200, 200, 400, 300);//位置和大小
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//默认关闭程序
        this.setVisible(true);//窗体可见
        this.setLayout(null);//清除默认布局方式

        //这里只是实例化了一个对象,可以根据需要用循环实例化多个对象,并且每个对象都有了自己唯一单独的事件绑定
        bt = new ButtonTest(4);//实例化bt按钮
        bt.setText("点我啊啊啊");
        bt.setBounds(100, 100, 100,40);//按钮大小和位置

        this.add(bt);//把按钮添加到jframe
    }

    public static void main(String[] args) {
        new Test();//实例化test的时候执行构造方法就能启动程序
    }   
}

/**
 * 这个类继承了JButton类并且实现了ActionListener接口
 * @author Administrator
 *
 * */
class ButtonTest extends JButton implements ActionListener{
    private int num = 0;

    public ButtonTest(){this.addActionListener(this);}//这里实现空参构造方法
    public ButtonTest(int num){//这里的重载构造方法的参数由自己定义,根据需求来实现
        this.num = num;
        this.addActionListener(this);//给自己添加(绑定)事件
    }

    //下面是get set 方法
    public int getNum() {
        return num;
    }
    public void setNum(int num) {
        this.num = num;
    }


    @Override
    public void actionPerformed(ActionEvent e) {

        //这里发生的点击事件由自己定义例如:
        System.out.println(this.num++);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值