我有一个JTextField叫名称和一个JTextArea叫地址。我的要求是当用户输入姓名JTextField并按下Enter键时,光标应该转到下一个文本区域,即地址。
目前可以通过按 Tab 键(我相信这是默认设置)从一个文本字段移动到另一个文本字段。我想禁止这样做并仅通过ENTER键传输光标。
我试过transferfocus()了,但是输入键不会将光标带到文本区域。我如何实现这一目标?
我有一个JTextField叫名称和一个JTextArea叫地址。我的要求是当用户输入姓名JTextField并按下Enter键时,光标应该转到下一个文本区域,即地址。
目前可以通过按 Tab 键(我相信这是默认设置)从一个文本字段移动到另一个文本字段。我想禁止这样做并仅通过ENTER键传输光标。
我试过transferfocus()了,但是输入键不会将光标带到文本区域。我如何实现这一目标?
我的要求是当用户在 JTextField 中输入名称并按下回车键时,光标应该转到下一个文本区域,即地址。
假设组件以正常的跳格顺序相互跟随,您可以编写通用代码:
Action enterAction = new AbstractAction()
{
    @Override
    public void actionPerformed(ActionEvent e)
    {
        KeyboardFocusManager manager = KeyboardFocusManager.getCurrentKeyboardFocusManager();
        manager.getFocusOwner().transferFocus();
    }
}
...
textField.addActionListener( enterAction );
目前可以通过按 Tab 键(我相信这是默认设置)从一个文本字段移动到另一个文本字段。我想禁止这样做并仅通过 ENTER 键转移光标。
为什么要禁止这个。正如您所说,选项卡是默认设置,因此大多数用户都会熟悉这种方法。不要重新发明 UI 并给用户一个选择。
我认为您使用 Swing ..抱歉回复晚了..
JTextField->右键单击->转到按键事件
private void NameKeyPressed(java.awt.event.KeyEvent evt) {
        int a = evt.getKeyCode();
        if (a == 10) {                     // for enter key
          Address.requestFocus();
        } 
}
    @satya 的答案是正确的,但是为了避免幻数而进行的细微改动是:
private void jTextFieldItmCodeKeyPressed(java.awt.event.KeyEvent evt) {                                             
    if(evt.getKeyCode()==KeyEvent.VK_ENTER){
       Address.requestFocus();
    }   
}