[英]Why does my for loop to disable buttons not work, but the same loop works for setting colors in JFrame?
我正在编写 TicTacToe 游戏,我想在其中使用带有JButton
组件的 for 循环,如下所示:
private void clearField(){
for (int i = 0; i<PlayField.length; i++){
PlayField[i].setText("");
PlayField[i].setBackground(new Color(41,200,193));
}
}
此示例中的 Playfield 是一个包含所有九个按钮的数组,该循环有效,但此循环无效:
private void setInvis(){
for (int i = 0; i<PlayField.length; i++){
PlayField[i].setVisible(false);
}
}
就像之前的评论中所说的那样, JButton.setVisible(false);
只会改变用户查看组件的能力。 在框架本身的眼中,组件仍然存在。 如果这是您想要的,但它仍然不起作用,您可能必须调用JFrame.revalidate();
更改按钮状态后。 每当您添加或更改组件时,此方法本质上都会“刷新”框架。 在这里查看更多
如果您的目标是使按钮可见但禁用它们,请使用JButton.setVisible(false);
.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.