Obsługa Labela z innej klasy

Obsługa Labela z innej klasy
  • Rejestracja: dni
  • Ostatnio: dni
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:

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

Inna klasa:

Kopiuj
Klasaglowna.label1.setText("costam");    //chcę zrobić coś takiego
Q4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 103
0

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

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

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

  • Rejestracja: dni
  • Ostatnio: dni
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

Q4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 103
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:

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

}

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.