希望我把这个问题说对了。因此,我正在开发一个具有UI并利用按钮的程序。我需要通过按钮完成几件事。按下按钮时,这些将由函数处理
按钮示例:
private void columnOneButtonActionPerformed(java.awt.event.ActionEvent evt) {
buttonDisable(0);
}
private void columnTwoButtonActionPerformed(java.awt.event.ActionEvent evt) {
buttonDisable(1);
}
函数:
private void buttonDisable(Integer index){
// deleted code where the index does stuff, that works fine and didn't want to show it
this.columnOneButton.setEnabled(false);
}
很明显,这仅适用于columnOneButton,因此要修复它,我使用了像这样的索引:
private void buttonDisable(Integer index){
// deleted code where the index does stuff, that works fine and didn't want to show it
if(index == 0){
this.columnOneButton.setEnabled(false);
} else if(index == 1){
this.columnTwoButton.setEnabled(false);
} // .... there are more than two buttons
}
虽然这可以完成工作,但是这是错误的,我想通过传入第二个参数来达到相同的目的,我在想这样的事情:
private void buttonDisable(Integer index, String buttonName){
// deleted code where the index does stuff, that works fine and didn't want to show it
this.buttonName.setEnabled(false);
}
这显然行不通,但我希望这样做,却不知道该怎么办。
谢谢!
答案 0 :(得分:0)
您可以使用它:
public void actionPerformed(ActionEvent e) {
buttonDisable(1, (JButton) e.getSource());
}
private void buttonDisable(Integer index, JButton button){
button.setEnabled(false);
}