Mam niezdefiniowany modalny JDialog, który chcę ustawićVide (false), gdy użytkownik kliknie poza modalnym oknie dialogowym.Jak zamknąć modalny JDialog, gdy użytkownik kliknie poza JDialog?
Czy to możliwe w Swing?
To, co robię, to pojawianie się edytora niestandardowego dla pola tekstowego, na przykład selektora daty. Czy istnieje łatwiejszy sposób robienia tego, co chcę?
EDIT
Pamiętaj, że modalnych bloki na wezwanie do setVisible (prawda), więc nie można po prostu powiedzieć „nie używaj modalne okno”
a próbowałem skupić słuchaczy w oknie dialogowym, nie uruchamiają się, gdy są modalne.
Czy wypróbowałeś metodę addAWTEventListener, powinno to dać ci zdarzenia dla wszystkich określonych typów zdarzeń, np. w podanym poniżej przykładzie będą to wszystkie zdarzenia myszy. – vickirk
Wiem, że powiedziałeś "nie możesz po prostu powiedzieć" nie używaj modalnego okna dialogowego "", prawdopodobnie dlatego, że masz kod, który wykonuje się bezpośrednio po wywołaniu setVisible? Czy nie mógłbyś przenieść tego do słuchacza, gdy okno dialogowe jest zamknięte? Bez znajomości szczegółów twojej aplikacji może ona zapewnić czystszy projekt, szczególnie jeśli chodzi o testowanie jednostkowe, lubię przenosić dialogi do strategii uzyskiwania odpowiedzi użytkowników, w ten sposób mogę wstrzykiwać fałszywe strategie bez zawieszania testu jednostki, gdy działa bezgłowy lub bez kłopotów z programowaniem wydarzeń. – vickirk