Я пытаюсь изменить значение кнопок, которые создаются в для l oop. Значение кнопок должно быть сохранено в хэш-карте, которая содержит идентификатор кнопки и значение.
Это то, что у меня сейчас есть:
private void createMap(int blocksX, int blocksY) {
// blocksX and blocksY are the amount of buttons to be placed
for (int x = 0; x < blocksX; x++) {
for (int y = 0; y < blocksY; y++) {
Button btn = new Button();
btn.setText("0");
btn.setPrefSize(32, 32);
btn.setLayoutX(32 * x);
btn.setLayoutY(32 * y);
btn.setId(String.valueOf(button_id));
map_list.put(button_id, 0);
button_id+=1;
items.getChildren().addAll(btn);
// If the user clicks a button, change the value of it...
btn.setOnAction(click -> {
if(btn.getText() == "0"){
changeButtonValue(Integer.parseInt(btn.getId()), 1);
btn.setText("1");
} else if(btn.getText() == "1") {
changeButtonValue(Integer.parseInt(btn.getId()), 0);
btn.setText("0");
}
});
}
}
}
Но теперь единственный элемент в HashMap, который нужно обновить, - это последняя созданная кнопка. Как я могу изменить это, чтобы он обновлял все значения кнопок?