1. 程式人生 > >Swing 的按鈕迴圈新增點選事件並被公共訪問

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++); } }