Od jakiegoś czasu próbuję wykonać w swojej aplikacji okno dialogowe, które pozwalałoby na wprowadzanie pewnych danych i przekazywanie ich do aplikacji. Musiałoby ono spełniać następujące warunki:
- wywołane pojawia się na ekranie przesłaniając okno główne aplikacji
- jakakolwiek próba kliknięcia na okno główne aplikacji powinna zakończyć się niepowodzeniem, okno główne nie powinno w żaden sposób reagować na kliknięcia itp aż do momentu kiedy okienko dialogowe zostanie zamknięte
- po zminimalizowaniu aplikacji (np. 'pokaż pulpit') i jej przywróceniu pojawia się okno aplikacji a przed nim okienko dialogowe (nigdy nie może zostać przesłonione przez okno aplikacji)
- kod aplikacji zostaje wstrzymany po otwarciu okna dialogowego i wznowiony po jego zamknięciu
I jak to wygląda obecnie u mnie... Na razie jest JFrame - aplikacja, klasa rozszerzająca JDialog - okienko dialogowe, wywoływana jako obiekt o nazwie 'creator'. Niestety tu się zaczynają wszystkie problemy, nie mogę zatrzymać kodu aplikacji ani stale 'utrzymać' okna dialogowego przed oknem aplikacji. Jeśli chodzi o zatrzymanie kodu - próbowałem wywołując w klasie głównej creator.wait(); , a w klasie odpowiedzialnej za okno dialogowe notifyAll();. Jednak klasa główna nie chce czekać i zwraca wyjątek IllegalMonitorStateException. Czego brakuje, żeby to działało? Co zrobić, żeby okno dialogowe zawsze znajdowało się przed oknem głównym? (tak jak np. w panelu sterowania windy przed oknem właściwości systemu znajduje się okno zmienne środowiskowe).