gpt4 book ai didi

java - 如何将二维数组填充为相同的值

转载 作者:行者123 更新时间:2023-12-02 02:09:26 37 4
gpt4 key购买 nike

我希望网格上的所有按钮在每次单击时都从空白更改为 X 到 O,然后又返回空白。它目前仅适用于数组中的第一个元素,因为 I 和 j 的值均为 0。我是否需要一个类似于初始化按钮的循环?

我虽然需要添加两个嵌套的 for 循环,但是我已经尝试过并且它有效。

有什么建议吗?

最佳答案

您使用最终字段ij用于设置事件处理程序。如果您希望所有按钮都以相同的方式处理单击,则需要向每个按钮注册事件处理程序。

由于您只能在循环内有效访问最终变量,因此您需要制作循环变量的最终副本,或者简单地为 Button 声明一个局部变量。

final List<String> values = Arrays.asList("", "X", "O");

for(int i=0; i<btn.length; i++){
for(int j=0; j<btn.length;j++){
final Button button = new Button("");

button.setOnAction(event -> {
int valueIndex = values.indexOf(button.getText());
button.setText(values.get((valueIndex+1) % values.size()));
});
// Initializing 2D buttons with values i,j
btn[i][j] = button;
button.setPrefSize(35, 40);
gridPane.add(button, i, j);
// button.setDisable(false);
}
}

关于java - 如何将二维数组填充为相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50232334/

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