Problem z JLabel'em

0

Witam! Podczas pisania programu operującego JLabel'ami oraz JCheck Boxami natrafiłem na problem, a mianowicie:
Chcę aby po zaznaczeniu odpowiedniego Chech Boxa label1 narysowal obrazek.

Tutaj kluczowe linijki:

public final Image obraz;


JLabel label1;
String path;



label1.setBounds(709, 283, 250, 150);

Ustawienie:

przyciskObrazu1.setBounds(100, 300, 80, 40);

Dodanie ActionCommand do przycisku:

przyciskObrazu1.setActionCommand("obraz");

Wczytanie obrazu:

ImageIcon obraz = new ImageIcon("obraz.png");

Ustawienie 1 obrazu label1:

	label1 = new JLabel(obraz);
label1.setPreferredSize(new Dimension(250, 150));

oraz ActionListener, ktory po wywolaniu komendy "obraz" rysuje obraz w label1


	       przyciskObrazu1.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                	if (e.getActionCommand().equals("obraz")) { label1.setIcon(obraz); }
                	repaint();
               
            }
        });

Podczas kompilacji wyskakuje błąd (jedyny):

local variable Rogues is accessed from within inner class; needs to be declared final

Co jest nie tak? Pisałem już podobny program w ten sam sposób i było ok.

0

Nie wygląda na to, żeby problem siedział w czymś związanym z wyświetlaniem obrazka. Zamieszana jest jakaś zmienna 'Rogues', musisz jej używać do czegoś, co wymaga by była finalna, o tym dokładnie mówi błąd. Pewnie deklarujesz jakąś funkcję w opraciu o nią.

1 użytkowników online, w tym zalogowanych: 0, gości: 1