Swing - problem z przekazywaniem parametrów między oknami

0

Witam,

próbuję napisać program który będzie bazą studentów. W oknie głównym programu wyświetlona jest lista studentów. Po kliknięciu w wybranego studenta cały obiekt Student student przekazujemy jako parametr do nowo tworzonego okna/obiektu:

OknoDoEdycjiStudenta st = new OknoDoEdycjiStudenta(student, grupa1.getNazwa());

a potem pobieramy go z tego obiektu:

student=st.getStudent();

Problem polega na tym że swing jest wielowątkowy i program nie czeka z wykonaniem drugiej instrukcji na zamknięcie okna z edycją studenta, a w liście która wyświetlana jest w głównym oknie są nieaktualne dane. dopiero po odświeżeniu dodatkowo oprogramowanym przyciskiem wszystko jest ok.
Generalnie wszystko działa, tylko chciałbym pominąć przycisk odśwież i chciałbym również żeby ta druga instrukcja wykonała się prawidłowo, z już aktualnymi danymi.

Proszę o jakąś radę... i o pomoc...

0

Dość niejasno napisałeś, co chcesz uzyskać. Kiedy mają się zmieniać dane studenta w oknie z listą ? W trakcie edycji (w obu oknach są zawsze identyczne dane), czy po zamknięciu okna edycyjnego ?

0

Mają się zmieniać po zamknięciu okna edycyjnego...

tu są dwie klasy z którymi mam problem, oraz program.
http://pzj.swat.waw.pl/

0

Chcę aby po zakończeniu edycji studenta i zamknięciu okna Od razu były w oknie głównym zaktualizowane informacje. To tyczy się również dodawania nowego studenta. w momencie gdy klikam nowy, w liście pojawia się null null ponieważ pola są jeszcze puste. chcę aby okno główne poczekało az skończę wypełniać/poprawiać okno edycji...

0

Spróbuj do OknoDoEdycjiStudenta przekazać referencję do głównego okna, w głównym oknie zmienić pole elementy na protected i po zakończeniu edycji wywołać (na rzecz głównego okna) elementy.fireContentsChanged(...).
Dwie uwagi:

  • główne okno jest za wąskie - nie mieści tytułu
  • można otworzyć wiele okien edycyjnych do edycji tego samego studenta

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