von einem Frame auf ein 2. Fenster

Tsa

Mitglied
Hey Leute,
Vorweg: Ich arbeite im moment mit AWT, nich das es zu missverständnissen führt ^^
Ich hab nun einen Frame und will wenn man über ein Menü "Optionen" auswählt das ein neues "Fenster" aufgeht! Allerdings sollte dann hinten das Fenster nicht mehr anwählbar sein! Das Fenster geht auch auf. Habe mich da erstmal für einen Dialog entschieden. Aber nun hab ich zwei Probleme:
1) Das Fenster lässt sich nicht über das kreuz oben schließen! Ich habe es schon mit nem WindowListener probiert. Dieser sollte es mit "dispose()" verschwinden lassen. Alternativ hatte ich es mit show(false) probiert, naja ging halt auch schief ;)
Hat jemand eine Idee?
2) Wie bekomme ich es hin das das Frame nicht "ansprechbar" ist solange das 2. Fenster (in dem Fall der Dialog) auf ist...?

Für Hilfe wäre ich sehr dankbar,
mfg,
Tsa :)
 
1) Da musst du deinen Code herzeigen.
2) Der Dialog-Konstruktor ist mehrfach überladen und bietet einige Versionen mit einem boolean-Wert, der die Modal-Eigenschaft (eben dass der Dialog ständig im Vordergrund bleibt und das Elternfenster sperrt) bestimmt.
 
Ah, vielen Dank, also mit 2 das hab ich nun! Jetzt weiß ich auch für was Modality gut ist, wurde aus der Dokumentation nicht so ersichtlich!

zu 1)
hier mein Code für den Dialog:
Code:
final Dialog w=new Dialog(frm, "Optionen", true);
            w.setSize(400,200);
            w.setLocation(30,50);
            w.show();

  WindowListener listener = new WindowAdapter()
                  {
                  public void windowClosing(WindowEvent e)
                          {
                   w.dispose();
                         }
                   };

Das funktioniert nicht :/ Vielleicht zieht der WindowAdapter nur bei Frames? kA Hoffe mir kann da jmd helfen :)
 
Hey,
habs nun endlich hinbekommen :)
glaube das war eher ein allgemeines Event and listener problem...
für Leute die mal nach suchen hier das Endprodukt ;)
Code:
Button close=new Button("Close");            
            final Dialog w=new Dialog(frm, "Optionen", true);
            w.setSize(400,200);
            w.setLocation(30,50);
            close.setSize(20,20);
            
            
                    w.addWindowListener (new WindowAdapter()
                    {
                        public void windowClosing(WindowEvent e)
                        {
                            w.dispose();
                        }
                    })
                    ;
            w.add(close);
            w.show();

Danke für die Hilfe :)
 
Zurück