在CardLayout中获取JTextField的焦点

3
我在一个包含在CardLayout中的JPanelA中有一个JTextField。当A被显示时,我想自动将焦点设置到JTextField上(即光标在文本框中闪烁,使用户不需要点击它以启用输入)。我尝试在初始化时调用JTextField对象的requestFocusInWindow()方法,但似乎不起作用。我需要每次显示A时都调用此方法吗?谢谢。

2
为了更快地获得更好的帮助,请发布一个SSCCE - Andrew Thompson
1个回答

5
也许您可以在面板显示时尝试使用requestFocusInWindow()?就像这样吗?
    jPanel.addComponentListener(new ComponentAdapter() {
        @Override 
        public void componentShown(java.awt.event.ComponentEvent e) 
        {
            jTextField.requestFocusInWindow();
        }
    });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接