我有一個幀的三個按鈕,其中的兩個欲編輯與字符串,它是在主類(Lab2TestDrive)包裝公共部件,像在同一類中實現ActionListener爲三個按鈕
public class Lab2TestDrive{
...
String cale;
public static main void(String[] args){
JButton button1.. button2.. button3..
}
我可以在Lab2TestDrive上實現一個ActionListener,並覆蓋那裏的actionPerformed(...)方法嗎?但如果我這樣做,我不知道我怎麼能知道哪個按鈕觸發了actionPerformed方法。
我知道我可以做一個單獨的類,
public class ButtonListener implements ActionListener {
JButton button;
ButtonListener(JButton button){
this.button = button;
}
@Override
public void actionPerformed(ActionEvent arg0) {
if(button.getText().equals("Save")){
};
}
}
但是當時我不知道我怎麼能訪問「卡爾」變量:(
您可以使用按鈕或「動作」API的「actionCommand」參見[如何使用動作](http://docs.oracle.com/javase/tutorial/uiswing/misc/action.html) – MadProgrammer