我有一個叫做Name的JTextField
和一個叫做Address的JTextArea
。我的要求是當用戶在JTextField
中輸入名稱並按下時輸入鍵,光標應該移到下一個文本區域,即地址。將光標從一個JTextField傳送到另一個輸入press?
目前,人們可以通過按Tab鍵(我相信是默認值)從一個文本框移動到另一個文本框。我想禁止這個,只能通過ENTER鍵來傳輸光標。
我試過transferfocus()
,但回車鍵沒有把光標移到文本區域。我如何實現這一目標?
我有一個叫做Name的JTextField
和一個叫做Address的JTextArea
。我的要求是當用戶在JTextField
中輸入名稱並按下時輸入鍵,光標應該移到下一個文本區域,即地址。將光標從一個JTextField傳送到另一個輸入press?
目前,人們可以通過按Tab鍵(我相信是默認值)從一個文本框移動到另一個文本框。我想禁止這個,只能通過ENTER鍵來傳輸光標。
我試過transferfocus()
,但回車鍵沒有把光標移到文本區域。我如何實現這一目標?
我的要求是當用戶在JTextField中輸入了名字並按下回車鍵時,光標應該轉到地址的下一個文本區域。
假設組件遵循彼此在正常Tab鍵順序,你可以寫通用代碼:
Action enterAction = new AbstractAction()
{
@Override
public void actionPerformed(ActionEvent e)
{
KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
manager.getFocusOwner().transferFocus();
}
}
...
textField.addActionListener(enterAction);
目前可以通過按下tab鍵(我相信從一個文本框移動到其他是默認的)。我想禁止這個,只能通過ENTER鍵傳輸光標。
你爲什麼要禁止這個。正如你所說的tab是默認的,所以大多數用戶都會熟悉這種方法。不要重新創建用戶界面並給用戶一個選擇。
我想你使用Swing..Sorry晚期回覆..
的JTextField - >右鍵 - >轉到按鍵事件
private void NameKeyPressed(java.awt.event.KeyEvent evt) {
int a = evt.getKeyCode();
if (a == 10) { // for enter key
Address.requestFocus();
}
}
@薩蒂亞的答案是正確的,但略有改動避免幻數是:
private void jTextFieldItmCodeKeyPressed(java.awt.event.KeyEvent evt) {
if(evt.getKeyCode()==KeyEvent.VK_ENTER){
Address.requestFocus();
}
}
您是否嘗試過'RequestFocus()'? – ErrorNotFoundException 2013-05-10 10:59:12
向我們展示您的代碼以便捕獲並按ENTER鍵按下。 – 2013-05-10 11:00:33