gpt4 book ai didi

java - JFrame 启动时将焦点放在 JTextArea 上

转载 作者:太空宇宙 更新时间:2023-11-04 06:40:31 25 4
gpt4 key购买 nike

我知道有人问过这个问题,我已经使用了论坛中提供的一些解决方案/示例,但它们似乎无法为我工作。

本质上,我有包含 JTextAreas 的 JInternalFrames,我希望当 JInternalFrame 是可见焦点时,即光标放置在 JTextArea 上,而不是用户必须通过单击 JTextArea 手动放置光标。

以下是我尝试的解决方案:

解决方案1:

textAreaUName.requestFocus(true);

解决方案2:

textAreaUName.requestFocus(true);
textAreaUName.requestFocusInWindow();

如果您看到这个问题被多次提出,请再次道歉。

感谢您的任何想法。

最佳答案

这会将焦点设置在不为 null 且可聚焦的 JComponent 上。

public final void requestFocus(final JComponent component)
{
Runnable r = new Runnable() {
@Override
public void run() {
while (!component.isFocusOwner()) {
component.requestFocusInWindow();
try {
Thread.sleep(1);
} catch (InterruptedException ex) {
Logger.getLogger(TestFrame.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
};
if(component!=null&&component.isFocusable())
{
Executors.newCachedThreadPool().execute(r);
}
}

关于java - JFrame 启动时将焦点放在 JTextArea 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24735659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com