在程序启动时激活 JTextArea?
Activate JTextArea on program launch?
是否可以制作一个 JTextArea
,当程序启动时用户开始输入时,它会自动开始在该 JTextArea 中输入。通常用户必须首先单击 JTextArea 才能开始在其中键入内容?
我可以让用户不必单击 JTextArea 就可以开始输入吗?
编辑:我试过使用:
textField.requestFocusInWindow();
在我的框架内 class 但这不起作用。
此调用是为了 获得焦点 并且可以使用您的代码进行配置。有一些samples使用监听器在适当的时候改变JTextArea
。
方法 .requestFocusInWindow();
可能会在下面的代码中解决您的问题:
tabbedPane.addChangeListener(e -> {
Component comp = tabbedPane.getSelectedComponent();
if (comp.equals(pnlFoo)) {
txtFoo.requestFocusInWindow();
} else if (comp.equals(pnlBar)) {
txtBar.requestFocusInWindow();
}
});
类似问题:Java - how do I gain focus on JTextArea when selecting a new JTabbedPane
这可能对您的第一个 运行 有帮助:
frame.addWindowFocusListener(new WindowAdapter() {
public void windowGainedFocus(WindowEvent e) {
textArea_1.requestFocusInWindow();
是否可以制作一个 JTextArea
,当程序启动时用户开始输入时,它会自动开始在该 JTextArea 中输入。通常用户必须首先单击 JTextArea 才能开始在其中键入内容?
我可以让用户不必单击 JTextArea 就可以开始输入吗?
编辑:我试过使用:
textField.requestFocusInWindow();
在我的框架内 class 但这不起作用。
此调用是为了 获得焦点 并且可以使用您的代码进行配置。有一些samples使用监听器在适当的时候改变JTextArea
。
方法 .requestFocusInWindow();
可能会在下面的代码中解决您的问题:
tabbedPane.addChangeListener(e -> {
Component comp = tabbedPane.getSelectedComponent();
if (comp.equals(pnlFoo)) {
txtFoo.requestFocusInWindow();
} else if (comp.equals(pnlBar)) {
txtBar.requestFocusInWindow();
}
});
类似问题:Java - how do I gain focus on JTextArea when selecting a new JTabbedPane
这可能对您的第一个 运行 有帮助:
frame.addWindowFocusListener(new WindowAdapter() {
public void windowGainedFocus(WindowEvent e) {
textArea_1.requestFocusInWindow();