![](/img/trans.png)
[英]Transfer cursor from one JTextField to another on Enter press?
[英]Transfer cursor to JTextField when press JButton
當我單擊“預覽頁面”按鈕時,光標應移至開始位置(txtStartPosition)。 以下是我編寫的代碼,但由於某種原因它無法正常工作。
btnPreviewPage = new JButton("Preview Single");
btnPreviewPage.setFocusable(false);
btnPreviewPage.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
txtStartPosition.setCaretPosition(txtStartPosition.getCaretPosition() - 1);
new UIPreviewPage().execute();
}
});
panel.add(btnPreviewPage, "cell 1 18,alignx right");
您需要執行JTextField.requestFocus();
或者,更優選的JTextField.requestFocusInWindow();
https://docs.oracle.com/javase/7/docs/api/javax/swing/JComponent.html#requestFocus()
public void requestFocus()
請求此Component獲得輸入焦點。 有關此方法的完整說明,請參考Component.requestFocus()。 請注意,不建議使用此方法,因為其行為取決於平台。 相反,我們建議使用requestFocusInWindow()。 如果您想獲得有關焦點的更多信息,請參閱《 Java教程》中的“如何使用焦點子系統”部分。
Overrides:
requestFocus in class Component
Since:
1.4
See Also:
Component.requestFocusInWindow(), Component.requestFocusInWindow(boolean)
使用您的代碼應該
tnPreviewPage = new JButton("Preview Single");
btnPreviewPage.setFocusable(false);
btnPreviewPage.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
//Add YourJTextField.requestFocusInWindow() here, but not sure if the other information is needed
txtStartPosition.setCaretPosition(txtStartPosition.getCaretPosition() - 1);
new UIPreviewPage().execute();
}
});
panel.add(btnPreviewPage, "cell 1 18,alignx right");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.