天天看點

在動作事件處理代碼中區分事件源!!

1.ActionEvent對象提供方法

getSource();//用來擷取事件源對象

getActionCommand();//結果為字元串,用來擷取按鈕事件對象的指令名

getSource();//結果為字元串,用來擷取按鈕事件對象的指令名

public void actionPerformed(ActionEvent e){

if(e.getSource() == btn1){//btn1要定義為執行個體變量

int c1= (int)(Math.random()*255);//用random生成随機數(0-1),乘與256後,有256個數。

int c2= (int)(Math.random()*255);

int c3= (int)(Math.random()*255);

setBackground(new Color(c1,c2,c3));}//設定背景色用setBackground()函數。

else

dispose();

}

getActionCommand();//結果為字元串,用來擷取按鈕事件對象的指令名

public void actionPerformed(ActionEvent e){

if(e.getActionCommand().equals("改背景")){

int c1= (int)(Math.random()*255);//用random生成随機數(0-1),乘與256後,有256個數。

int c2= (int)(Math.random()*255);

int c3= (int)(Math.random()*255);

setBackground(new Color(c1,c2,c3));}//設定背景色用setBackground()函數。

else

dispose();

}

2.事件擴充卡類(可以偷懶,省去寫很多方法的時間) java中為那些含有多個方法的監聽者接口提供了事件擴充卡類,對應XxxListener接口,這個類命名為XxxAdapter,在該類中以空方法體實作了相應接口的所有方法。

程式員設計可用過繼承擴充卡類來編寫監聽者類,在類中隻需給出關心的方法。