Problem z JLabel'em

Problem z JLabel'em
Skatty
  • Rejestracja:ponad 14 lat
  • Ostatnio:ponad 10 lat
  • Lokalizacja:Kraków
  • Postów:139
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:

Kopiuj
public final Image obraz;


JLabel label1;
String path;



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

Ustawienie:

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

Dodanie ActionCommand do przycisku:

Kopiuj
przyciskObrazu1.setActionCommand("obraz");

Wczytanie obrazu:

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

Ustawienie 1 obrazu label1:

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

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

Kopiuj

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

Podczas kompilacji wyskakuje błąd (jedyny):

Kopiuj
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.

Billy
  • Rejestracja:prawie 16 lat
  • Ostatnio:ponad 11 lat
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ą.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.