Можете ли вы объяснить мне, что означает ошибка "локальная переменная, на которую ссылается внутренний класс, должна быть конечной или фактически конечной", и почему я получаю ее даже после объявления моих переменных как окончательных.
вот мой код:
public class FenetreJeu extends JFrame {
final Echiquier e = new Echiquier();
FenetreJeu fj;
final public JLabel[][] labels = new JLabel[8][8];
Color couleur = new Color(51, 102, 0);
final Border border = BorderFactory.createLineBorder(Color.RED, 3);
public void moves() {
for (int i = 0; i <= 7; i++) {
for (int j = 0; j <= 7; j++) {
labels[i][j].addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent ee) {
labels[i][j].setBorder(border);
}
});
}
}
}
}
Я получаю сообщение об ошибке в этой строке
labels[i][j].setBorder(border);
Я пытаюсь изменить границы цвета надписей, когда mouseEvent (нажатие, нажатие или перетаскивание), и мне нужно использовать переменные i, j внутри метода mouseClicked.