想实现如题的功能,试了 private class KeyListener extends KeyAdapter { @Override
public void keyPressed(KeyEvent e) {
 int key = e.getKeyCode();
     if(key == KeyEvent.VK_ENTER) {
         transferFocus();
     }
}
}可以由于中间有其他组件,所以transferFocus();方法不起作用
使用tab键可以进行跳转

解决方案 »

  1.   

    定向接受焦点,让那个Text来获取焦点。
      

  2.   

    给TextField控件获得焦点,
    xx.grabFocus();
      

  3.   

                                        KeyboardFocusManager.getCurrentKeyboardFocusManager().setDefaultFocusTraversalPolicy(new DefaultFocusTraversalPolicy(){
        protected boolean  accept(Component aComponent){
            return aComponent instanceof JTextComponent;
        }
    });(input);
      

  4.   

    问题是我有多个TextField,怎么去定向接受
      

  5.   

    有多个TextFiled,不能唯一指定吧
      

  6.   

    问题是我有多个TextField,怎么去定向接受
    既然有多个TextField,那么你只能用逻辑的方式来解决。
    多个TextField,这时候你做一个判断,捕获到获取当前焦点的组件,然后让这个组件的下一个TextField来接收就行了。当然这样的话代码就有可能比较长了。
    或者楼主可以试想一下为什么tab健可以实现所需要的功能?原因我想应该是在源代码里面。楼主试着重写一下吧。这就比较高级了。
      

  7.   

    回车键切换
                        Set<AWTKeyStroke> set = new HashSet<>(KeyboardFocusManager.getCurrentKeyboardFocusManager().getDefaultFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS));
                        set.add(KeyStroke.getKeyStroke("ENTER"));
                        KeyboardFocusManager.getCurrentKeyboardFocusManager().setDefaultFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, set);
    如果不想切换到某个组件
    somecomponent.setFocusable(false);