Я новичок в GUI и Swing в Java, прошу прощения, если я задал простой вопрос. Сейчас работаю над проектом простого заказа торта GUI. Я хотел создать несколько JCheckBox с al oop в зависимости от количества доступных начинок. Флажки отображаются правильно, но я не могу добавить текст CheckBox в свой массив toppingOrder.
Пытался создать еще одну строку для хранения topping.get (i), но в итоге я сохранил только мой последний элемент в topping
for (int i = 0; i < topping.size(); i++) {
topping1 = new JCheckBox(topping.get(i));
topping1.setName("topping" + (i+1));
topping1.setFont(standard);
topping1.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (e.getStateChange() == 1) {
toppingOrder.add(topping.get(i));
}
}
});
И я получаю эту ошибку
Local variable i defined in an enclosing scope must be final or effectively final
Также меня немного смущает
topping1.setName("topping" + (i+1));
Я получил это из другого сообщения, но я не Я действительно не знаю, как это работает. Пожалуйста помоги. Спасибо!