Window-Handling



  • Hallo!
    Ich bastle gerade einen Dialog für ein kleines Programm.
    Der Benutzer muss in einem FileChooser, welcher sich in einem eigenen JFrame öffnet wenn im Hauptfenster ein Button gedrückt wird, eine Datei auswählen und anschließend einen weiteren Button drücken.

    Das funktioniert auch alles soweit schon. Allerdings sind diese Vorgänge alle unsynchronisiert bzw. im Hauptfenster kann trotzdem alles weiterlaufen während der Benutzer vlt noch gar keine Datei im FileChooser ausgewählt hat.

    Ich hatte erst die Idee einfach nach dem Aufruf des Choosers eine Schleife solange laufen zu lassen bis sich eine Variable (einfache boolean die auf true gesetzt wird sobald der Benutzer eine Datei ausgewählt hat) verändert hat. Allerdings funktioniert das nicht wirklich weil der Prozess zum Einen natürlich die CPU recht beansprucht und zum Anderen kann es trotzdem zu Interrupts kommen.

    Ich möchte nun das Parent Window einfach warten lassen bis das Child Window wieder geschlossen wurde. Bei vielen Dialogen sieht man ja dass man nach dem Öffnen eines Child Windows nichts anderes mehr anklicken kann ohne ein "Beep" zu hören. Ich bin mir sicher dass es da schon einige vorgefertigte Methoden gibt aber leider habe ich bisher keine brauchbare gefunden!

    Danke schonmal im Voraus!



  • Kein zweiter JFrame - stattdessen einen JDialog! Verhält sich im Prinzip gleich, nur kannst du ihm im Konstruktor auf Wunsch ein Parent Window übergeben, welches dann gesperrt ist solange der JDialog offen ist.

    MfG SideWinder



  • Edit.....



  • Ich habe es nun hinbekommen...allerdings gibt es ein Problem. Denn der Dialog wird zwar geöffnet - aber so dass das Fenster etwa 100x100 groß ist und der Inhalt nur angezeigt wird wenn ich manuell die Größe ändere (das fenster aufziehe)
    Die Größe des Fensters mit setsize oder setbounds zu ändern hat leider keinen effekt


Anmelden zum Antworten