Сфокусироваться на JTextField внутри CardLayout

#java #swing #jtextfield #cardlayout

#java #качать #jtextfield #cardlayout

Вопрос:

У меня есть JTextField внутри JPanel A, которое является частью CardLayout . Когда отображается это A, я хочу автоматически установить фокус на JTextField (т. Е. Курсор мигает в текстовом поле, поэтому пользователю не нужно нажимать на него, чтобы включить ввод). Я попытался вызвать requestFocusInWindow() этот JTextField объект при инициализации, но, похоже, это не сработало. Нужно ли мне вызывать этот метод каждый раз, когда отображается A? Спасибо.

Комментарии:

1. Чтобы получить лучшую помощь раньше, отправьте SSCCE .

Ответ №1:

Может быть, вы можете попробовать requestFocusInWindow() , когда панель будет показана?

что-то вроде этого?

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