Я создал массив ComboBox и массив кнопок в JavaFX. Я хотел бы назначить каждую кнопку массива, чтобы что-то сделать с ComboBox соответствующего индекса:
for(int i = 0; i < 6; i++) {
colorBox[i] = new ComboBox();
colorBox[i].getItems().addAll("Blue", "Orange", "Green", "Yellow", "White", "Red");
randomColorBtn[i] = new Button("Random color");
randomColorBtn[i].setOnAction((ActionEvent event) -> {
colorBox[i].setValue(getRandomPlayerIconColor());
});
}
Таким образом, всякий раз, когда вы нажимаете кнопку Random, соответствующий ComboBox получает случайный цвет. Однако, когда я пытаюсь сделать это так, я получаю сообщение об ошибке
локальные переменные, на которые ссылается лямбда-выражение, должны быть окончательными или фактически окончательными
Я понимаю, что ошибка исходит от меня, использующего переменную i, но как мне обойти эту проблему?
Заранее спасибо.