Fokus und JTextField

Status
Nicht offen für weitere Antworten.

Alex_winf01

Top Contributor
Hallo liebe Forengemeinde,

wie kann ich den Fokus in ein bestimmtes Textfeld legen, dass der Anwender gleich "losschreiben" kann?

Beispiel:

Anmelde-Dialog für eine DB. Der Anwender muss bei mir derzeit erst auf in das Textfeld Benutzername klicken. Ich möchte, dass das Programm gleich in diesem Feld steht. Wie kann ich das machen?
 

André Uhres

Top Contributor
Ariol hat gesagt.:
..developers are strongly encouraged to use .. [requestFocusInWindow] over requestFocus when possible.
Code which relies on requestFocus may exhibit different focus behavior on different platforms.
 

Alex_winf01

Top Contributor
Klappt leider nicht. Der Anwender muss immer noch in das Textfeld klicken.

Hier mein Code:

Code:
JOpptionPane.showOptionDialog(null, pnl_mein, "DB-Anmeldung", JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE, null, s_options)

pnl_main beinhaltet dann die Label und die Textfelder.
 

Alex_winf01

Top Contributor
Code:
String[] s_options = {"Anmelden", "Abbrechen"};
JPanel pnl_main = new JPanel();
pnl_main.setLayout(new GridLayout(3,3,10,10));

JLabel lbl_username = new JLabel("Benutzername: ", JLabel.RIGHT);
txt_username = new JTextField();
txt_username.reqiestFocusInWindow();

JLabel lbl_password = new JLabel("Passwort: ", JLabel.RIGHT);
txt_password = new JPasswordField();

pnl_main.add(lbl_username, 0);
pnl_main.add(txt_username, 1);
pnl_main.add(lbl_password, 2);
pnl_main.add(txt_password, 3);

Ich möchte einfach nur, dass der Cursor sich im Textfeld Benutzername bei Aufruf befindet, damit der Anwender sofort mit der Eingabe beginnen kann.
 

outbreaker

Bekanntes Mitglied
mal eine andere Frage wo hast du gesehen das es diese Methode showOptionDialog mit den Parametern die du da beschrieben hast gibt?

API JOptionPane

showOptionDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object initialValue)


ich habe nur diese Methodendefinition gefunden :shock:

nicht die die du verwenden möchtest
 

Ariol

Top Contributor
requestFocusInWindow darf erst aufgerufen werden, wenn dein Textfeld schon sichtbar ist.

Code:
SwingUtilities.invokeLater(new Runnable()
        {
            public void run()
               {
                     txt_username.reqiestFocusInWindow();
               }
        });
 

Ariol

Top Contributor
outbreaker hat gesagt.:
mal eine andere Frage wo hast du gesehen das es diese Methode showOptionDialog mit den Parametern die du da beschrieben hast gibt?

API JOptionPane

showOptionDialog(Component parentComponent, Object message, String title, int optionType, int messageType, Icon icon, Object[] options, Object initialValue)


ich habe nur diese Methodendefinition gefunden :shock:

nicht die die du verwenden möchtest

Genau die verwendet er doch.
 

outbreaker

Bekanntes Mitglied
habe ich wohl nicht richtig hingesehen :oops:

aber ein Argument fehlt am Ende trotzdem :wink: das hat mich dann wohl verwirrt

so funktioniert es:

Code:
String[] s_options = {"Anmelden", "Abbrechen"};
JPanel pnl_main = new JPanel();
pnl_main.setLayout(new GridLayout(3,3,10,10));

JLabel lbl_username = new JLabel("Benutzername: ", JLabel.RIGHT);
JTextField txt_username = new JTextField();

JLabel lbl_password = new JLabel("Passwort: ", JLabel.RIGHT);
JTextField txt_password = new JPasswordField();

pnl_main.add(lbl_username, 0);
pnl_main.add(txt_username, 1);
pnl_main.add(lbl_password, 2);
pnl_main.add(txt_password, 3);
txt_username.requestFocusInWindow();

JOptionPane.showOptionDialog(null, (Object)pnl_main, "DB-Anmeldung", JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE, null, s_options,null);

du musst das
Code:
txt_username.requestFocusInWindow();
weiter nach untenschieben nach dem hinzufügen
 

André Uhres

Top Contributor
Alex_winf01 hat gesagt.:
Funktioniert leider nicht. :(
Ich glaube mit JOptionPane kann das auch nicht funktionieren.
Die Komponente muss sichtbar sein, aber da der Dialog modal ist
kommt man auch mit invokeLater nicht zum Zug.
Wenn man sich den JDialog selbst macht, ist es aber kein Problem.
Beispiel: Login.java
 

outbreaker

Bekanntes Mitglied
Alex_winf01 hat gesagt.:
Funktioniert leider nicht. :(

das verstehe ich nicht

Das ist meine Klasse und ich habe den Cursor sofort im Eingabefeld für den Benutzernamen

Code:
package testen;

import java.awt.GridLayout;

import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class T1 {

	public T1() {
		init();
	}
	
	private void init() {
		String[] s_options = {"Anmelden", "Abbrechen"};
		JPanel pnl_main = new JPanel();
		pnl_main.setLayout(new GridLayout(3,3,10,10));

		JLabel lbl_username = new JLabel("Benutzername: ", JLabel.RIGHT);
		JTextField txt_username = new JTextField();

		JLabel lbl_password = new JLabel("Passwort: ", JLabel.RIGHT);
		JTextField txt_password = new JPasswordField();

		pnl_main.add(lbl_username, 0);
		pnl_main.add(txt_username, 1);
		pnl_main.add(lbl_password, 2);
		pnl_main.add(txt_password, 3);
		txt_username.requestFocusInWindow();

		JOptionPane.showOptionDialog(null, (Object)pnl_main, "DB-Anmeldung", JOptionPane.OK_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE, null, s_options,null);
	}
	
	public static void main(String[] args) {
				new T1();
	}
}
 

André Uhres

Top Contributor
Es funktioniert aber nur, wenn man keinen default Button setzt. So geht's nicht:
JOptionPane.showOptionDialog(..., "Anmelden");
 

André Uhres

Top Contributor
outbreaker hat gesagt.:
irgendwie verstehe ich das Problem hier nicht mehr :roll:
Also, irgendwas scheint im Moment immer noch nicht zu funktionieren.
Das Problem ist aber, dass uns noch nicht genau gesagt wurde, was denn eigentlich noch nicht funktioniert :D
 

André Uhres

Top Contributor
Alex_winf01 hat gesagt.:
Ich kann den Cursor immer noch nicht in das Textfeld setzen - das ist mein Problem.
Gut, das bringt uns schon ein Stückchen weiter.
Jetzt müssten wir noch wissen, um welchen Code es sich handelt. Ist es vielleicht dieser von outbreaker: T1 ?
 
G

Gast2

Gast
Also der von outbreaker klappt bei mir ohne Probleme nur so nebenbei ;)
 

Alex_winf01

Top Contributor
In der Main-Methode habe ich:

Code:
StartFrame frm = new StartFrame("Ein Fenster");
		frm.setVisible(true);
txt_username.requestFocusInWindow();
		frm.setSize(400,400); // Größe des Fensters festlegen
		frm.pack();
		frm.setResizable(false); // verhindern, dass der Anwender die Größe des Fensters verändert
		frm.setExtendedState(JFrame.MAXIMIZED_BOTH); // auf Vollbildschirm schalten
 
G

Gast2

Gast
1. du setzt net größe und danach machst du ein pack und dann wieder vollbildschrim---> was für ein Sinn ???
2. solltest du setVisible() nach deinen ganzen größen setzungen machen
3. du sollst das requestFocus.... nach dem add machen
 

Alex_winf01

Top Contributor
@ SirWayne

Auch dann funzt es nicht, wenn ich es an folgender Stelle mache:

Code:
String[] s_options = {"Anmelden", "Abbrechen"};
      JPanel pnl_main = new JPanel();
      pnl_main.setLayout(new GridLayout(3,3,10,10));

      JLabel lbl_username = new JLabel("Benutzername: ", JLabel.RIGHT);
      JTextField txt_username = new JTextField();

      JLabel lbl_password = new JLabel("Passwort: ", JLabel.RIGHT);
      JTextField txt_password = new JPasswordField();

      pnl_main.add(lbl_username, 0);
      pnl_main.add(txt_username, 1);
      pnl_main.add(lbl_password, 2);
      pnl_main.add(txt_password, 3);
      txt_username.requestFocusInWindow();

Funzt auch nicht.
 

Ariol

Top Contributor
requestFocusInWindow() funktioniert nur, wenn die entsprechende Komponente schon sichtbar ist.

Du kannst es damit versuchen, das hat bei mir funktioniert:
Code:
SwingUtilities.invokeLater(new Runnable()
			{
				public void run()
				{
					txt_username.requestFocusInWindow()
				}
			});
 

André Uhres

Top Contributor
SirWayne hat gesagt.:
Also der von outbreaker klappt bei mir ohne Probleme nur so nebenbei ;)
Das macht jetzt schon mindestens drei Leute, bei denen es funktioniert.
Wir können also erstmal davon ausgehen, dass es auch bei Alex_winf01 funktioniert.
Keine Ahnung, was das hin und her hier soll :roll:
 
G

Gast2

Gast
@ Alex_winf01 nicht einfach den Code der funktioniert und das Thema ist erledigt.....
 

outbreaker

Bekanntes Mitglied
nein es geht darum das man sich an dem Code auch mal orientieren könnte und nicht Fehler macht die vielleicht eindeutig in dem Codebeispielen nicht drin sind :autsch:

So war das wohl eher gemeint :wink:
 
P

Parfy

Gast
Habe das auch mal überprüft, da ich das selbe Problem hatte bei mir lag es daran das man wirklich als Options selber ein Array übergeben muss und nicht einfach die vordefinierten Buttons. Erst dann funktioniert die ganze Sache. Bei anderen showxxx-Methoden kann man es übrigens generell vergessen.
 
G

Gast

Gast
gibt es keine einfachere methode bei einem Fenster was geöffnet wird die Kurcor in ein bestimmtest Feld zu stecken??
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Swing Wie Fokus von JTextField entfernen? AWT, Swing, JavaFX & SWT 9
A Fokus wieder in ein JTextField setzen AWT, Swing, JavaFX & SWT 4
G Event, wenn JTextField Fokus verliert? AWT, Swing, JavaFX & SWT 2
M Fokus auf ein JTextfield in einem JDialog setzen AWT, Swing, JavaFX & SWT 6
M KeyEvent ohne Fokus konsumieren AWT, Swing, JavaFX & SWT 1
CptK Fokus auf geöffnetes Zweit-Fenster setzen und Eingaben außerhalb blocken AWT, Swing, JavaFX & SWT 2
Neumi5694 Swing Card-Layout, Fokus AWT, Swing, JavaFX & SWT 2
M JavaFX Absoluter Fokus während drag Event AWT, Swing, JavaFX & SWT 10
P Fokus auf Zelle in JTable AWT, Swing, JavaFX & SWT 1
C SWT MenuBar & MenuItems Fokus wenn F10 unterdrücken/entfernen AWT, Swing, JavaFX & SWT 9
1 Swing Bestimme ob ein Subelement eines panel den Fokus verloren hat AWT, Swing, JavaFX & SWT 2
B Swing Fokus auf JPanel setzen AWT, Swing, JavaFX & SWT 2
J Swing Fokus JInternalFrame fehlerhaft AWT, Swing, JavaFX & SWT 4
B Fokus markierung entfernen AWT, Swing, JavaFX & SWT 2
C AWT Fokus von Component entfernen, wenn kein anderes vorhanden AWT, Swing, JavaFX & SWT 4
A Vordergrund und Fokus setzten oder Modales Einabefeld AWT, Swing, JavaFX & SWT 28
G SWT Fokus auf MsgBox setzen AWT, Swing, JavaFX & SWT 3
M Fokus für KeyListener AWT, Swing, JavaFX & SWT 9
N Filternde Combobox in JTable verliert Fokus nach erster Eingabe AWT, Swing, JavaFX & SWT 2
J Swing Wie Fokus richtig setzen? AWT, Swing, JavaFX & SWT 7
T Swing Fokus AWT, Swing, JavaFX & SWT 2
I Swing Wie bekomme ich den Fokus für einen JPanel AWT, Swing, JavaFX & SWT 5
H Swing Problem mit FocusCycleRoot, der FocusTraversalPolicy und dem Fokus AWT, Swing, JavaFX & SWT 2
G Problem beim setzen des Fokus AWT, Swing, JavaFX & SWT 4
E Swing Mit rechter Maustaste Fokus in JList setzen?! AWT, Swing, JavaFX & SWT 3
F Rechte Maustaste auf TreeNode soll den Fokus auf diese setzen AWT, Swing, JavaFX & SWT 6
agent47 Swing auf Schnelltaste ohne Fokus hören AWT, Swing, JavaFX & SWT 2
M JSpinner als TableCellEditor; buttons nur bei fokus sichtbar AWT, Swing, JavaFX & SWT 14
Z Fokus auf Eingabefeld bei showMessageDialog setzen AWT, Swing, JavaFX & SWT 3
N Herkunft des Fokus erkennbar (via Klick oder Tab-Steuerung)? AWT, Swing, JavaFX & SWT 4
F Panel kann nicht Fokus erhalten AWT, Swing, JavaFX & SWT 2
N Textfeld füllen sobald es den Fokus verliert AWT, Swing, JavaFX & SWT 2
D JTable, Model, Fokus AWT, Swing, JavaFX & SWT 3
multiholle AWT Hotkey ohne Fokus AWT, Swing, JavaFX & SWT 6
W JTextArea/TextArea kriegt keinen Fokus AWT, Swing, JavaFX & SWT 6
T Fokus auf CB in Table mit beliebiger Taste AWT, Swing, JavaFX & SWT 12
G JOptionPane.showInputDialog(): Texteingabe und Fokus AWT, Swing, JavaFX & SWT 3
V Kein Fokus für Key Bindings auf JPanel bzw JApplet AWT, Swing, JavaFX & SWT 2
R Fokus von GUI-Elementen AWT, Swing, JavaFX & SWT 3
F Herausfinden, auf welchem Objekt der Fokus liegt AWT, Swing, JavaFX & SWT 2
V JTable verliert Fokus, wie offene Zelle schliessen? AWT, Swing, JavaFX & SWT 5
S Eventhandling obwohl Fenster nicht im Fokus AWT, Swing, JavaFX & SWT 5
GilbertGrape bei "Enter" Funktion ausführen, egal wo der Fokus AWT, Swing, JavaFX & SWT 2
A Fokus in ein Textfeld setzen funktioniert nicht AWT, Swing, JavaFX & SWT 3
A ComboBox soll reagieren ohne fokus AWT, Swing, JavaFX & SWT 7
C Probleme einem JPanel den Fokus zuzuweisen AWT, Swing, JavaFX & SWT 2
T JList mit eigenem TransferHandler: Fokus(?)-Probleme AWT, Swing, JavaFX & SWT 4
D JButton mit Fokus soll auf ENTER reagieren AWT, Swing, JavaFX & SWT 3
M Frame erhält ungewollt den Fokus AWT, Swing, JavaFX & SWT 10
V JTable Handling Fokus on Keystroke und Maus Doubleclick AWT, Swing, JavaFX & SWT 9
S JTextArea mit Scrollbar,append Text mit Fokus? AWT, Swing, JavaFX & SWT 5
C Der hartnäckige Fokus AWT, Swing, JavaFX & SWT 3
G Keylistener/Fokus Problem AWT, Swing, JavaFX & SWT 3
B Fokus Problem unter Linux AWT, Swing, JavaFX & SWT 7
J JFrame und Fokus AWT, Swing, JavaFX & SWT 4
N Fokus Reihenfolge ändern AWT, Swing, JavaFX & SWT 12
I fokus AWT, Swing, JavaFX & SWT 4
P JTextField wird nur sehr klein angezeigt und verändert die Größe nicht AWT, Swing, JavaFX & SWT 3
P JTextfield Text durch Keylistener verändern AWT, Swing, JavaFX & SWT 4
raeuchertofu Text von JTextfield und JLabel ändern AWT, Swing, JavaFX & SWT 2
I JTextfield senden über Enter AWT, Swing, JavaFX & SWT 1
M mehrere jTextField untereinander AWT, Swing, JavaFX & SWT 1
G JTextField Änderungen überprüfen AWT, Swing, JavaFX & SWT 4
B JTextField in Panel positionieren AWT, Swing, JavaFX & SWT 1
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
R Swing JTextField nicht-kopierbarer Text AWT, Swing, JavaFX & SWT 1
R Swing JTextField - Schriftgröße je nach Länge und Größe ändern AWT, Swing, JavaFX & SWT 0
A Swing Datei lässt sich zwar speichern, aber nicht laden (Inhalt im JTextField anzeigen) AWT, Swing, JavaFX & SWT 18
A Fenster genau unterhalb von JTextField anzeigen AWT, Swing, JavaFX & SWT 1
xYurisha Gui Focus von JTextField weglenken AWT, Swing, JavaFX & SWT 6
G Eingabe in JTextField in Array speichern und in JList ausgeben AWT, Swing, JavaFX & SWT 7
G JTextField Eingabe in DB speichern AWT, Swing, JavaFX & SWT 68
C JTextField Inhalt mit Maus selektieren wenn disabled AWT, Swing, JavaFX & SWT 2
R jTextField Eingabe überprüfen AWT, Swing, JavaFX & SWT 2
ralfb1105 Swing Wert in JTextField wird falsch ausgegeben AWT, Swing, JavaFX & SWT 2
D Inhalt von JTextField in MySQL speichern. Wie ? AWT, Swing, JavaFX & SWT 1
D Platzierung von JTextfield in JPanel AWT, Swing, JavaFX & SWT 3
J 100% CPU Last mit JTextField AWT, Swing, JavaFX & SWT 2
U Swing JTextField aus dem Editmodus nehmen AWT, Swing, JavaFX & SWT 1
Q-bert JTextField per Mausklick einfügen AWT, Swing, JavaFX & SWT 3
L JTextField erscheint erst nach Veränderung der Framegröße AWT, Swing, JavaFX & SWT 5
BobbGott durchsichtiges JTextField mit Hintergrund AWT, Swing, JavaFX & SWT 12
L Swing JTextField nicht sichtbar AWT, Swing, JavaFX & SWT 1
Soloeco Swing JTextField auslesen Klassen übergreifend AWT, Swing, JavaFX & SWT 16
N Swing Abfrage durch JTextField nach Button betätigung AWT, Swing, JavaFX & SWT 3
J JTextfield automatisch aus zweiter Klasse aktualisieren AWT, Swing, JavaFX & SWT 5
T ActionListener nimmt JTextField nicht mehr an. AWT, Swing, JavaFX & SWT 2
N Swing Jtextfield und Ausgabe von Wärungsbeträgen AWT, Swing, JavaFX & SWT 3
beatles Swing JTextField - Game Status aus Array anzeigen AWT, Swing, JavaFX & SWT 3
blazingblade komischerweise probleme mit jtextfield.gettext() AWT, Swing, JavaFX & SWT 9
KaffeeFan mehrere JTextField durchlaufen AWT, Swing, JavaFX & SWT 4
T JTextField Array im JPanel wird nicht komplett angezeigt AWT, Swing, JavaFX & SWT 7
K Swing unterschied JTextField und JLabel AWT, Swing, JavaFX & SWT 7
Tausendsassa Text changed event handler jTextField AWT, Swing, JavaFX & SWT 3
B jTextfield Übergabe des Strings AWT, Swing, JavaFX & SWT 16
P JTextField unsichtbar machen AWT, Swing, JavaFX & SWT 2
G .txt-Datei einlesen /formatieren in JTextfield ?? AWT, Swing, JavaFX & SWT 8
C Swing JTextField Funktion zuweisen - Löschen von Buchstaben/Sonderzeichen AWT, Swing, JavaFX & SWT 6
S JTextField parameter unveränderlich AWT, Swing, JavaFX & SWT 9
T bekomme keinen Focus auf JTextField AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben