skyork
skyork

Reputation: 7391

Get focus on a JTextField inside a CardLayout

I have a JTextField inside a JPanel A which is a part of CardLayout. When this A gets shown, I want to set the focus automatically to the JTextField (i.e. the cursor is flashing in the text field so the user doesn't need to click on it to enable the input). I tried calling requestFocusInWindow() on the JTextField object at initialization, but that doesn't seem to work. Do I need to call this method every time when A gets displayed? Thanks.

Upvotes: 3

Views: 1891

Answers (1)

Bala R
Bala R

Reputation: 108957

Maybe you can try requestFocusInWindow() when the panel is shown ?

something like this?

    jPanel.addComponentListener(new ComponentAdapter() {
        @Override 
        public void componentShown(java.awt.event.ComponentEvent e) 
        {
            jTextField.requestFocusInWindow();
        }
    });

Upvotes: 5

Related Questions