# JOptionPane.showInputDialog(): Texteingabe und Fokus



## gschmi01 (1. Feb 2009)

Hallo

Die statische Methode JOptionPane.showInputDialog() erlaubt eine sofortige Eingabe in das Textfeld. Trotzdem hat der OK-Button ständig den Fokus, wodurch die Texteingabe durch das Drücken der ENTER-Taste beendet werden kann.

Ich möchte dieses Verhalten in selbst programmierte GUIs übernehmen. Kann mir jemand mitteilen, wie das Verhalten von JOptionPane.showInputDialog() programmiert werden kann bzw. ein Code-Beispiel?

Viele Grüße
Gregor


----------



## hdi (1. Feb 2009)

Ich glaube nicht dass der Button dauernd den Fokus hat, sondern die TextArea hat einen Listener, der beim Drücken von Enter das Fenster schliesst. Und genau so müsstest du das auch machen


----------



## L-ectron-X (1. Feb 2009)

Probiere mal folgenden Code im Konstruktor deines Fensters nach der Initialisierung des entspr. JButtons.

```
this.getRootPane().setDefaultButton(myButton);
```

myButton ist der Button, der auslösen soll.


----------



## gschmi01 (1. Feb 2009)

Hallo

Danke für Eure Beiträge!
Ich habe zuerst die Lösung von L-ectron-X getestet: Ein voller Erfolg!

Ich verwende zwei Arten von Eingabe-GUIs:
- Erweiterung der Klasse JDialog (Lösungsvorschlag hat auf Anhieb funktioniert)
- Konstruktor mit JFrame ("this" durch Instanzvariable "frame" ersetzt)

Vielen Dank für den Tipp. Im Augenblick weis ich noch nicht, warum er genau so funktioniert, aber ich werde mich dahinter klemmen.

Viele Grüße
Gregor


----------

