Dialog nur anwendungsweit in Vordergrund

Status
Nicht offen für weitere Antworten.

tini

Bekanntes Mitglied
Hallo,

ich arbeite mit Java 1.5 und habe einen modalen Dialog, der, wenn er aufgerufen wird, immer vor der dazugehörigen Anwendung sein soll. D.h. wenn ich zwischendurch ne andere Anwendung aktiviere, soll er nicht mehr zu sehen sein, aber wenn ich zur zugehörigen Anwendung zurückkehre, muss er wieder da sein.
Letzteres ist im Moment leider nicht der Fall, so dass die ganze Anwendung hängt, wenn ich mit offenem modalen Dialog zu ner anderen Anwendung gehe, weil bei der Rückkehr der Dialog nicht mehr on Top ist.

Leider bringt toFront() gar nichts und setAlwaysOnTop(true) setzt den Dialog über ALLE Anwendungen, so dass er auch wenn ich zu anderen Anwendungen gehe immer im Vordergrund ist, was ich ja nun auch nicht will.

Weiß jemand Rat?
 
Hi,

interessante Frage ob das mit Java so zu lösen ist weiß ich leider nicht hätte aber eine möglicherweise umständlichere Lösung.

und zwar nicht modal setzen sondern beim onactivate event des mainframes gucken ob der dialog zu sehen sein soll dann ggf. in die Front stellen.

Aber wie gesagt bin selber noch dabei Java zu lernen.

Greets
 
der dialog muss modal sein und als parent dein hauptfenster gesetzt sein.
 
Erst mal danke für die schnellen Antworten.

@Roar:
Auch auf die Gefahr hin, dass ich mich jetzt als unwissend oute (was ich vielleicht auch bin):
Wie setze ich mein Hauptfenster als parent?
 
so: http://java.sun.com/j2se/1.5.0/docs/api/javax/swing/JDialog.html#JDialog(java.awt.Frame,%20java.lang.String,%20boolean)
 
Nach mehrmaligem probieren klappts nun. Ich danke euch.

Hatte das Problem, dass ich eine ziemlich verschachtelte Oberfläche habe. Ungefähr so: JFrame -> JSplitPanel -> JPanel -> JMenu -> JMenuItem -> JDialog

aber mit (Frame)getRootPane.getParent() gehts.
und dann im Dialog den Konstruktur super(parent, titel, true, null) aufrufen.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben