JOptionPane focus
When I use JOptionPane's static methods to display some JTextFields,
initial focus is on one of the buttons, is it possible to set initial
focus to the JTextField?
example code:
import javax.swing.*;
import java.awt.*;
public class MyApp3 {
public static JFrame frame;
private static void createAndShowGUI() {
JFrame frame = new JFrame("A test app");
frame.setBounds(100,100, 300, 200);
frame.setVisible(true);
getPassword();
}
private static void getPassword() {
JPanel panel = new JPanel();
JTextField nameField = new JTextField(10);
JPasswordField passwordField = new JPasswordField(10);
panel.setLayout(new GridLayout(2,2, 5,10)); // rows,cols,vgap,hgap
panel.add (new JLabel("Name", SwingConstants.RIGHT));
panel.add (nameField);
panel.add (new JLabel("Password", SwingConstants.RIGHT));
panel.add (passwordField);
int choice = JOptionPane.showConfirmDialog(
MyApp3.frame, // parent
panel, // "message"
"Database Log-in", // title
JOptionPane.OK_CANCEL_OPTION, // optiontype
JOptionPane.PLAIN_MESSAGE // messagetype: no icon
);
// do something with choice and credentials
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() { createAndShowGUI(); }
});
}
}