JOptionDialog mit Enter Beenden?

  • Themenstarter Themenstarter Bart S.
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
B

Bart S.

Gast
Hallo!

Kann man einen JOptionDialog mit Enter beenden?

Ich würde z. B. gerne ein Pasword in ein Textfeld eingeben und dann mit Enter den Dialog schließen. Geht aber nicht. Ich muss entweder mit der Maus auf den OK-Button oder mit TAB-Taste auf OK und dann "LEERTASTE" drücken!!!

Ist das immer so oder kann ich das irgendwie ändern, ohne mir ein eigenes Dialogfenster zu basteln?

Danke.
Bart
 
Ich weiss nicht was du mit "JOptionDialog" meinst.
Ein "JOptionPane" kann man Enter beenden:
Code:
               String inputValue = 
                    JOptionPane.showInputDialog("Please a Frame title"); 
                myFrame.setTitle(inputValue);
Aber da man am Bildschirm deutlich sieht was man da eingibt, ist es für ein geheimes Password eher ungeeignet.
Da würde ich lieber ein JDialog mit JPasswordField empfehlen.
Das hängt natürlich davon ab was du machen willst.
 
Sorry, Tippfehler. Hier der Code:

Code:
        JOptionPane JOP = new JOptionPane();
        t0= System.currentTimeMillis();
        i=JOP.showOptionDialog(
        null,
        p,
        "Aufgaben",
        JOptionPane.DEFAULT_OPTION,
        JOptionPane.PLAIN_MESSAGE,
        null,
        new Object[] { "Nächste Aufgabe", "Überspringen", "Abbrechen" },
        null);
        te=System.currentTimeMillis();
 
Im folgenden Beispiel wird die erste Option, also option[0], im Voraus gewählt.
Mit Enter sie dann ausgewählt.
Code:
       Object[] options = new Object[] { "Nächste Aufgabe", "Überspringen", "Abbrechen" };
        i=JOP.showOptionDialog(
                null,
                p,
                "Aufgaben",
                JOptionPane.DEFAULT_OPTION,
                JOptionPane.PLAIN_MESSAGE,
                null,
                options,
                options[0]);
 
Das kann ich auch mit...

Code:
 JOptionPane JOP = new JOptionPane();
        t0= System.currentTimeMillis();
        i=JOP.showOptionDialog(
        null,
        p,
        "Aufgaben",
        JOptionPane.DEFAULT_OPTION,
        JOptionPane.PLAIN_MESSAGE,
        null,
        new Object[] { "Nächste Aufgabe", "Überspringen", "Abbrechen" },
        "Nächste Aufgabe");

ABER... ich will ja zuerst in ein Textfeld was eingeben. Es bekommt also den Fokus. Kann ich an das TextFeld einen Listener anhängen, der den Dialog bei Enter beendet?
 
Aha, ich hab mich schon die ganze Zeit gefragt, warum du am Anfang von einem Textfeld sprichst
und in deinem Beispiel ist nichts davon zu sehen. Kannste den Code dann bitte auch mal posten :roll:
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben