Obsługa Labela z innej klasy

0

Witam jak dobrać się do labela , który jest w klasie głównej z innej klasy , kompilator automatycznie robi go prywatnym , wiem że mogę stworzyć metodę ale jako że nie mam obiektu głównej klasy to się do tej metody nie dobiorę chyba że byłaby statyczna, ale jak jest statyczna to nie mogę sie dobrać do labela bo on jest nie statyczny... nie mam już pomysłów proszę o pomoc.

Wygląda to mniej więcej tak:

Klasagłowna{    //nie mam obiektu tej klasy 
   private label1
   main()
    {}
}

Inna klasa:

Klasaglowna.label1.setText("costam");    //chcę zrobić coś takiego
0

Jest kilka sposobów, najprostsze z nich to kolejno przekazanie w konstruktorze referencji czyli np. tak:

public KonstruktorInnejKlasy(Jlabel label) {
....
}

albo tworzysz metodę statyczną i do tego pole label również musisz uczynić statycznym.

0

właśnie przed chwilą na to z konstruktorem wpadłem jako argument przekazuję this tylko wywala mi wyjątek zaraz zobacze czego to wina , a jeśli chodzi o statyczny label to nie da się tego zmienić bo to program generuje;/ ,a przynajmniej w netbeansie

0

Dobrze było by gdybyś pomyślał przed napisaniem posta. "Wywala wątek" niewiele mówi. Jeżeli chcesz aktualizować okno programu z innego wątku powinieneś zrobić to tak:

public void invokeUI(final String message) {
   SwingUtilities.InvokeLater(new Runnable() {
       //tutaj aktualizujesz np. textArea
   });

}

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