holtiwilan
Mitglied
Hi!
Ich suche eine möglichkeit einem jTextfield in einem Dialog den Focus zu geben, so das der Cursor beim starten des Dialogs in diesem Feld ist.
Ich habe schon jTextFiels.requestFocus probiert.
Auch habe ich im Internet folgenden vorschlag gefunden:
Aber das funktioniert auch nicht.
Kann mir jemand helfen?
Viele Grüße
Tim
Ich suche eine möglichkeit einem jTextfield in einem Dialog den Focus zu geben, so das der Cursor beim starten des Dialogs in diesem Feld ist.
Ich habe schon jTextFiels.requestFocus probiert.
Auch habe ich im Internet folgenden vorschlag gefunden:
Code:
//: LoginDialog3.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class LoginDialog3 extends JDialog {
private final JTextField userName = new JTextField(8);
private final JPasswordField password = new JPasswordField(8);
public LoginDialog3(Frame owner) {
super(owner, "Login Dialog", true);
getContentPane().setLayout(new GridLayout(0,2,5,5));
getContentPane().add(new JLabel("Username:"));
getContentPane().add(userName);
getContentPane().add(new JLabel("Password:"));
getContentPane().add(password);
pack();
Windows.centerOnScreen(this);
changeFocus(userName, password);
show();
}
private void changeFocus(final Component source,
final Component target) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
target.dispatchEvent(
new FocusEvent(source, FocusEvent.FOCUS_GAINED));
}
});
}
public String getUserName() { return userName.getText(); }
public String getPassword() { return password.getText(); }
public static void main(String[] args) {
JFrame owner = new JFrame("Login Dialog");
owner.setLocation(-1000, -1000);
owner.show();
owner.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
new LoginDialog3(owner);
}
}
Aber das funktioniert auch nicht.
Kann mir jemand helfen?
Viele Grüße
Tim