Re: JOptionPane focus
- From: "Michael Dunn" <m_odunn@xxxxxxxxx>
- Date: Thu, 27 Apr 2006 20:23:25 +1000
"Ian Wilson" <scobloke2@xxxxxxxxxxxxx> wrote in message news:dvCdnRL0ydAiBM3ZRVnygA@xxxxxxxxx
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(); }
});
}
}
JPanel panel = new JPanel();
final JTextField nameField = new JTextField(10);//<-----final
javax.swing.SwingUtilities.invokeLater(new Runnable() {//<-----add
public void run() { nameField.requestFocusInWindow(); }});//<----add
JPasswordField passwordField = new JPasswordField(10);
.
- Follow-Ups:
- Re: JOptionPane focus
- From: Ian Wilson
- Re: JOptionPane focus
- References:
- JOptionPane focus
- From: Ian Wilson
- JOptionPane focus
- Prev by Date: JOptionPane focus
- Next by Date: Re: JOptionPane focus
- Previous by thread: JOptionPane focus
- Next by thread: Re: JOptionPane focus
- Index(es):