Modalen JFrame

Status
Nicht offen für weitere Antworten.

Stinner

Mitglied
Hi,
nachdem der andere post fertig ist, ein weiteres Problem:

Ich wollte einen modalen JFrame über einen anderen. Da ich keine möglichkeit gefunden habe, dass direkt mit Java Funktionen zu machen, habe ich mir geholfen, indem ich das
  • ein Fenster disable (setEnabled(false))
  • das andere noch setAlwaysOnTop(true) mitgebe

Allerdings gefällt mir folgendes Verhalten nicht. wenn ich das Fenster was über dem anderen sein soll minimiere, dann minimieren sich beide Fenster. Soweit so gut.

Aber wenn ich das andere Fenster in der Taskleiste wieder herstelle, dann stellt sich nur dieses. Klicke ich dann was an, funktioniert dies nicht und es kommt auch immer der Hinweiston, aber es wäre gut, wenn sich das andere Fenster dann auch wiederherstellen würde. sonst weiß der nutzer unter umständen nicht, wieso es gerade nicht weiter geht.

Wie kann ich das machen?
GRuß
 
Dafür gibt es doch JDialog mit
Code:
setModal(true)
(oder bereits im Konstruktor).
 
Ja,
hatte mir im nachhinein auch gedacht, dass ich hätte diesen verwenden sollen.

Aber im Vorfeld dachte ich, dass ich mit einem JFrame flexibler bin.
Jetzt wäre es eine relativ gro0e Änderung alle JFrames in ein JDialog zu ändern.

Hab das Verhalten ja auch fast, nur halt dass wenn das eine Fenster wiederhergestellt wird aus der Taskleiste, dass beide angezeigt werden.
 
Hm ok, wenn es beim JFrame bleiben soll, dann wirst du für das Problem wohl mit einem WindowListener arbeiten müssen und irgendwie wie folgt implementieren:
Java:
@Override
public void windowDeiconified(WindowEvent event)
{
    if (event.getWindow().equals(derEineFrame))
        derAndereFrame.setExtendedState(JFrame.NORMAL);
    else
        derEineFrame.setExtendedState(JFrame.NORMAL);
} //void windowDeiconified(WindowEvent)

Und diesen Listener brauchen dann beide Frames.
 
Jetzt wäre es eine relativ gro0e Änderung alle JFrames in ein JDialog zu ändern.

Meinst du? Es sollte doch schon fast reichen das pack() aus dem Konstruktor rauszunehmen, die Parameter anzupassen und die Klassen auf "extends JDialog" umzuschreiben.

Je nach Anzahl an Klassen, stell ich mir das einfacher vor.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben