Jeden JLabel, w dwóch klasach...

0

Cześć! :)
Mam mały problem, a właściwie jedno proste pytanko...
Mam dwie osobne klasy publiczne (dwa osobne pliki: Panel1.class i Klasa2.class)
W przykładowym pliku Panel1.class mam taki fragment kodu:

JLabel Konsola = new JLabel("Ładowanie Konsoli... Poczekaj chwilkę :)");
add(Konsola);

Natomiast w drugiej publicznej klasie Klasa2.class chciałbym zmienić tekst wyświetlany w 'Konsoli' stworzonej w panelu 1 -

Konsola.setText("Tekst z Klasy 2");

...
I moje pytanie brzmi następująco: Jak to zrobić?

Gdy chcę to zmienić tak po prostu, klasa druga nie rozpoznaje co to jest konsola, tzn. nie widzi jej... Jaki kod powinienem dodać do Klasy1/Klasy2 aby wszystko działało tak jak powinno? :)

0

A ja to sobie wykopię :D
A gdyby tak JLabel wstawić poza jakąkolwiek metodę i przed typem obiektu dać słówko kluczowe "public"?

0

Zupełnie źle. Niepotrzebnie upublicznisz komponent a i tak nie zadziała.

0

To może metoda public JLabel getLabel() ? Bo ja już nie wiem.

1

Z metodą dostępową (powinna się raczej nazywać getKonsola()) jest dużo lepiej. Dodatkowo, obiekty typu Klasa2 powinny przechowywać referencję do klasy Panel1 (można np. przekazać referencję w konstruktorze).

pan.getKonsola.setText("abrakadabra");
0

No! A myślałem już, że nie powinienem wypowiadać się publicznie.

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