JOptionDialog mit Enter Beenden?

Status
Nicht offen für weitere Antworten.
B

Bart S.

Gast
Hallo,

ich benutze eine JOptionPane um in einem Fenster ein Passwort abzufragen. Dieses Fenster reagiert aber nicht auf ENTER/RETURN. Stattdessen muss ich mit der TAB-Taste auf "OK" oder "Cancel" wechseln und mit SPACE/Leertaste bestätigen. Kann ich dem JOptionPane einen Listener zufügen, sodass ich den Dialog mit ENTER beenden kann?

Hier der Code: p ist ein JPanel mit Info und einem Passwortfeld

Code:
      p.add(p2,"North");  p.add(p3,"Center");  p.add(j6,"South");

      int i=JOptionPane.showOptionDialog(
          null,
          p,
          "Title",
          JOptionPane.DEFAULT_OPTION,
          JOptionPane.PLAIN_MESSAGE,
          null,
          new Object[] { "Ok", "Cancel" },
          null);

      String s = new String(pf.getPassword());

Danke!
 

André Uhres

Top Contributor
Code:
       int i=JOptionPane.showOptionDialog( 
        null, 
        p, 
        "Title", 
        JOptionPane.DEFAULT_OPTION, 
        JOptionPane.PLAIN_MESSAGE, 
        null, 
        new Object[] { "Ok", "Cancel"}, 
        "Ok");
PS: Ja ja, ich weiss, du willst 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?
 

André Uhres

Top Contributor
Bart S. hat gesagt.:
Kann ich an das TextFeld einen Listener anhängen, der den Dialog bei Enter beendet?
Probier's mal mit nem KeyListener oder JDialog. :D
Code:
/*
 * DialogBeispiel.java
 * Benutzung im JFrame: new DialogBeispiel(this, true).setVisible(true);
 */
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class DialogBeispiel extends JDialog {
    public DialogBeispiel(Frame parent, boolean modal) {
        super(parent, modal);
        this.parent = (JFrame)parent;
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        setSize(100,100);
        setResizable(false);
        setLocationRelativeTo(parent);
        //JComponents erzeugem:
        mainpanel = new JPanel();
        textfeld = new JTextField();
        okBtn = new JButton("OK");
        //Layout:
        getRootPane().setDefaultButton(okBtn);
        textfeld.setPreferredSize(new Dimension(100,25));
        mainpanel.add(textfeld);
        mainpanel.add(okBtn);
        getContentPane().add(mainpanel, BorderLayout.CENTER);
        //Listener:
        okBtn.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                okBtnActionPerformed(evt);
            }
        });
    }
    private void okBtnActionPerformed(ActionEvent evt) {
//        parent.setTitle(textfeld.getText());
        System.out.println(textfeld.getText());
        dispose();
    }
    private JFrame parent;
    private JPanel mainpanel;
    private JTextField textfeld;
    private JButton okBtn;
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
J JOptionDialog "cannot find symbol" Java Basics - Anfänger-Themen 3
Ostkreuz Int Scanner auf Enter Eingabe prüfen Java Basics - Anfänger-Themen 4
K Wie kann ich "enter" von der Console in Eclipse löschen? Java Basics - Anfänger-Themen 2
D Programm auf Enter warten lassen Java Basics - Anfänger-Themen 2
B Button soll sowohl auf Klicken als auch auf die Enter-Taste reagieren Java Basics - Anfänger-Themen 9
CptK Interface JTextField: Action mit Enter ausführen Java Basics - Anfänger-Themen 16
x-tshainge Bei if (eingabe = = ... ) enter als eingabe nehemen Java Basics - Anfänger-Themen 4
Z Enter Taste alle 0,5 Sekunden ausführen Java Basics - Anfänger-Themen 1
P Weiter erst bei Drücken de Enter-TAste Java Basics - Anfänger-Themen 1
B Taste "Enter" drücken in einem anderen Programm? Java Basics - Anfänger-Themen 6
A wie fange ich ein "enter" auf? Java Basics - Anfänger-Themen 0
L Enter simulieren Java Basics - Anfänger-Themen 10
B Methoden Einen Char einlesen ohne Enter abzuwarten Java Basics - Anfänger-Themen 4
B jTextField bei Enter eingabe absenden? Java Basics - Anfänger-Themen 2
A fire button on JTextField Enter Java Basics - Anfänger-Themen 2
M Enter bei OK_CANCEL_OPTION auf dem Cancel Button deaktivieren? Java Basics - Anfänger-Themen 5
I Aktion ausführen bei Enter Java Basics - Anfänger-Themen 6
B 2 Textfelder Enter Taste Java Basics - Anfänger-Themen 3
H JTable: Eingaben mit ENTER übernehmen Java Basics - Anfänger-Themen 2
J JTextfield mit Enter leeren Java Basics - Anfänger-Themen 3
J Schleife durch nichtseingeben/Enter beenden. Java Basics - Anfänger-Themen 5
StrikeTom Editable JComboBox + enter Wie??? Java Basics - Anfänger-Themen 3
J Mit Enter einen Button aktivieren Java Basics - Anfänger-Themen 5
P "Enter"-Taste mit Button verknüpfen Java Basics - Anfänger-Themen 3
K JTextField auslesen, wenn Enter gedrückt.. Java Basics - Anfänger-Themen 13
Z Enter löst einen button aus aber wie? Java Basics - Anfänger-Themen 16
M In Konsole auf Enter reagiern Java Basics - Anfänger-Themen 3
D If Schleife mit "Enter" starten Java Basics - Anfänger-Themen 10
G Enter-Zeichen aus String ersetzen Java Basics - Anfänger-Themen 5
M Einzellne Zeichen lesen und ohne Enter terminieren Java Basics - Anfänger-Themen 7
G Enter Taste abfangen Java Basics - Anfänger-Themen 11
S Programmabsturz bei ENTER Java Basics - Anfänger-Themen 4
F while mit Enter-Taste abbrechen Java Basics - Anfänger-Themen 13
G Leertaste bei Button auf Enter Taste ändern? Java Basics - Anfänger-Themen 6
N Tastatur direkt einlesen (ohne Enter) Java Basics - Anfänger-Themen 3
S JTextField bei enter Java Basics - Anfänger-Themen 3
B textfeld mit enter auslesen klappt nicht Java Basics - Anfänger-Themen 12
M Button in einem JDialog mit Enter ausführen Java Basics - Anfänger-Themen 2
C Einloggen auch per ENTER Taste (KeyListener Problem) Java Basics - Anfänger-Themen 8
D Button und "Enter" Java Basics - Anfänger-Themen 13
T aktion bei enter Java Basics - Anfänger-Themen 2
L ActionListener bei Enter Java Basics - Anfänger-Themen 1
R ENTER in InputStream nicht lesen Java Basics - Anfänger-Themen 4
V Enter abwarten / Mehrere Zeilen einlesen Java Basics - Anfänger-Themen 3
F Bei Login mit Enter bestätigen Java Basics - Anfänger-Themen 7
P Wie kann diese Schleife beenden Java Basics - Anfänger-Themen 1
T Thread beenden aus zweiter Klasse Java Basics - Anfänger-Themen 4
B In einem Thread Endlosschleife beenden Java Basics - Anfänger-Themen 19
F nach Methode Programm nicht beenden Java Basics - Anfänger-Themen 9
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
K Bufread.readLine())!= null wie beenden? Java Basics - Anfänger-Themen 4
B Endlosschleife Thread sauber beenden Java Basics - Anfänger-Themen 19
J Programm beenden ohne System.exit() oder Runtime.exit() Java Basics - Anfänger-Themen 5
D Konsoleneingabe mit Abbruchbedingung beenden Java Basics - Anfänger-Themen 11
R Error, wenn mehrere Clients gleichzeitig die Verbindung beenden Java Basics - Anfänger-Themen 16
ralli85 Programm nach einer gewissen Anzahl von Eingaben beenden Java Basics - Anfänger-Themen 15
W Geschachtelte for-schleife beenden Java Basics - Anfänger-Themen 2
F Thread der auf eine Queue wartet, sicher beenden Java Basics - Anfänger-Themen 4
KaffeeFan Timer beenden Java Basics - Anfänger-Themen 12
E Threads Doppelte Threads beenden Java Basics - Anfänger-Themen 4
T Input/Output Programm beenden durch Eingabe Java Basics - Anfänger-Themen 1
O Per return Run Methode beenden Java Basics - Anfänger-Themen 3
R for-Schleife bei erfüllter Bedingung beenden Java Basics - Anfänger-Themen 7
B Timer beenden? Java Basics - Anfänger-Themen 0
T For-Schleife mit Esc Beenden Java Basics - Anfänger-Themen 5
X Robot beenden oder zerstören Java Basics - Anfänger-Themen 7
T Bei Buttonklick Aktion starten, nach erneutem Klick beenden Java Basics - Anfänger-Themen 4
J beenden durch choice Java Basics - Anfänger-Themen 11
L Methode per Knopfdruck beenden Java Basics - Anfänger-Themen 3
TheSorm java Schleife beenden per Tastendruck Java Basics - Anfänger-Themen 10
Bluedaishi Klassen Thread über if Anweisung starten und von anderer Klassen über Button Beenden Java Basics - Anfänger-Themen 34
FreeFun Java Anwendung beenden Java Basics - Anfänger-Themen 7
M Programm beenden über menueItem "Beenden"! Java Basics - Anfänger-Themen 5
D Applet beenden Java Basics - Anfänger-Themen 7
A mit break if beenden Java Basics - Anfänger-Themen 6
A Programm beenden Java Basics - Anfänger-Themen 6
P Threads Thread und Zugriff auf externe Methode beenden Java Basics - Anfänger-Themen 4
E Intanz einer Klasse beenden Java Basics - Anfänger-Themen 6
S Komplette Rekursion beenden? Java Basics - Anfänger-Themen 2
E Prozesse überwachen und gezielt beenden Java Basics - Anfänger-Themen 3
L Prozess beenden Java Basics - Anfänger-Themen 3
T Opaque kennt er nicht/ programm beenden?? Java Basics - Anfänger-Themen 9
R Programm nach ablauf eines Timers beenden Java Basics - Anfänger-Themen 10
K Zeit ablaufen lassen und nach Ablauf beenden Java Basics - Anfänger-Themen 5
c_sidi90 javax.exe beenden nach Programmende Java Basics - Anfänger-Themen 10
D Programm durch eingabe von einer "0" beenden... Java Basics - Anfänger-Themen 21
Steve5000 Externe Batch-Datei starten und anwendung beenden?! Java Basics - Anfänger-Themen 4
B Java-Programm-Dienst sauber beenden Java Basics - Anfänger-Themen 6
M Probleme beim Beenden eines Threads Java Basics - Anfänger-Themen 25
C Exceptions beim Beenden Java Basics - Anfänger-Themen 2
J Methode beenden Java Basics - Anfänger-Themen 6
T switchcase innerhalb Schleife: von case-Fall aus Schleife beenden Java Basics - Anfänger-Themen 3
T Programm beenden (Exit function?) Java Basics - Anfänger-Themen 6
J Programm beenden via Benutzereingabe Java Basics - Anfänger-Themen 8
U Threads - Beenden/ Wieder starten Java Basics - Anfänger-Themen 10
S Eingabe über Scanner einlesen und automatisch beenden Java Basics - Anfänger-Themen 11
D Exceptions werfen + beenden Java Basics - Anfänger-Themen 12
I Gui läßt sich nicht beenden Java Basics - Anfänger-Themen 6
J Thread beenden? Java Basics - Anfänger-Themen 2
Piwi Timer bei Programmende beenden Java Basics - Anfänger-Themen 25

Ähnliche Java Themen

Neue Themen


Oben