Meine Anwendung bietet die Möglichkeit, eine lang andauernde Aufgabe zu starten. Wenn das auftritt, wird ein nicht modales JDialog
gestartet, das den Fortschritt der Aufgabe anzeigt. Ich mache den Dialog speziell modeless, damit der Benutzer während der Ausführung der Aufgabe mit dem Rest der GUI interagieren kann.Der modeless JDialog muss über dem übergeordneten Element sichtbar sein
Das Problem, mit dem ich konfrontiert bin, ist, dass, wenn der Dialog hinter anderen Fenstern auf dem Desktop versteckt wird es schwierig zu finden ist: Es gibt kein entsprechendes Element in der Taskleiste (unter Windows 7), noch ist ein Symbol sichtbar unter dem Alt + Tab-Menü.
Gibt es einen idiomatischen Weg, um dieses Problem zu lösen? Ich hatte überlegt, WindowListener
zu JFrame
der Anwendung hinzuzufügen und diesen zu verwenden, um den JDialog in den Vordergrund zu bringen. Dies wird jedoch wahrscheinlich frustrierend (da dies vermutlich bedeutet, dass der JFrame dann den Fokus verliert).
Warum Sie eine JFrame nicht stattdessen verwenden? Das ist einer der Hauptunterschiede: der Knopf in der Taskleiste. –
Weil ich nicht möchte, dass der Dialog die Funktionalität maximiert oder minimiert. – Adamski
Sie können setResizable (false); Ich würde zulassen, zu minimieren, sonst könnte die Anwendung ein wenig beleidigend sein, IMO. –