这是我正在苦苦挣扎的学校实验室,代码正在制作刽子手游戏,当“大脑”程序说游戏结束时,所有字母按钮都应该被禁用。
相关代码段:
按钮:
class ActionButton extends JButton implements ActionListener{
private String name;
private char t;
public ActionButton(String s){
super(s);
name = s;
t = name.charAt(0);
}
@Override
public void actionPerformed(ActionEvent e) {
ido.newLetter(t);
this.setEnabled(false);
LovesMePanel.this.update();
}
}
更新方法:
public void update(){
answers = ido.getAnswer();
flower.setTriesLeft(ido.getTriesLeft());
progress.setText(answers);
if(ido.gameOver()){
// This is where I need to deactivate the buttons
if(ido.hasWon()){
}
}
else if(triesLeft == 0){
}
}
所有按钮都是在包含所有其他面板的 LoveMePanel 中的一个循环中创建的。有没有办法在游戏结束时全部引用或禁用它们? 如果没有,我应该如何更改我的代码才能做到这一点?
最佳答案
如果您将按钮放在 Collection
中,您可以遍历它们并以这种方式禁用它们。即,
for (JButton b : myButtons) {
b.setEnabled(false)
}
如果不是,您有 26 个禁用语句要编写。
关于java - 有没有办法用一种方法禁用所有按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16043180/