gpt4 book ai didi

java - 选择数组中的每个元素。 java

转载 作者:行者123 更新时间:2023-12-02 13:27:06 28 4
gpt4 key购买 nike

我正在尝试构建一个 TicTacToe 游戏并绘制游戏,我的二维数组中的每个元素都应该被禁用。如何查明数组中的所有 JButton 是否已禁用。这里我分配了我创建的 JButton。

for(int row = 0; row < buttons.length; row++){
for(int column = 0; column<buttons[row].length; column++){
buttons[row][column] = new JButton();
this.add(buttons[row][column]);
buttons[row][column].addActionListener(new tickSquare());

}
}

这里我尝试进行循环,但如果所有内容都被禁用,它就会这样做

    for(int row = 0; row < buttons.length; row++){
for(int column = 0; column<buttons[row].length; column++){

if(buttons[row][column].isEnabled() == false){
JOptionPane.showMessageDialog(null,labelD);
}

}
}

最佳答案

不要在 if 本身中显示消息对话框。使用循环更新变量并在循环外使用该变量来决定是否必须显示弹出窗口:

boolean allDisabled = true;

for(int row = 0; row < buttons.length; row++){
for(int column = 0; column<buttons[row].length; column++){

if(buttons[row][column].isEnabled()){
//This button is enabled, so we set allDisabled to false
allDisabled = false;
}

}
}

if(allDisabled) {
JOptionPane.showMessageDialog(null,labelD);
} else {
// At least one button is enabled!
}

当发现启用的按钮时,您还可以中断循环以避免不必要的循环:

boolean allDisabled = true;

loop:
for(int row = 0; row < buttons.length; row++){
for(int column = 0; column<buttons[row].length; column++){

if(buttons[row][column].isEnabled()){
//This button is enabled, so we set allDisabled to false
allDisabled = false;
break loop;
}

}
}

但我不喜欢标签和中断,所以如果可能的话我会尽量避免使用它们。

关于java - 选择数组中的每个元素。 java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43351696/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com