我创建了一个简单的Swing面板,在加载时会占用我应用程序的整个窗口。它包含两个JTextArea
和一些按钮。我希望其中一个文本区域在面板加载时具有焦点,以便用户可以立即开始键入而不必首先单击文本区域。我怎样才能做到这一点?
答案 0 :(得分:4)
答案 1 :(得分:2)
请参阅此处the Documentation,其中包含您正在搜索的内容(我认为):
也可以给出一个组件 以编程方式聚焦,例如何时 它的包含框架或对话框是 变得可见。此代码段显示 如何给出一个特定的组件 每次窗口获得焦点时都会聚焦 重点:
//Make textField get the focus whenever frame is activated.
frame.addWindowFocusListener(new WindowAdapter() {
public void windowGainedFocus(WindowEvent e) {
textField.requestFocusInWindow();
}
});
答案 2 :(得分:0)
您只需要调用Jcomponent类的requestFocus方法,
public void requestFocus()
在要关注的Component上。 请求确保在为其父组件调用setVisible之后调用此方法。
例如: - 你有一个Jframe,你在其中添加了一个JTextArea,所以在调用之后你应该按以下顺序调用: -
jframe.setVisible(真); jarea.requestFocus();