jtf1.getDocument().addDocumentListener(new DocumentListener(){
    public void insertUpdate(DocumentEvent e){
       jtf2.requestFocus();
    }
    public void removeUpdate(DocumentEvent e){}
    public void changeUpdate(DocumentEvent e){}
});

解决方案 »

  1.   

    sorry requestFocuse() and changedUpdate
      

  2.   

    JComponent有一个函数setNextFocusableComponent(JComponent aComponent),
    我猜测这个函数可能可以实现这个功能,不过我没有试,手头没有编译器
      

  3.   


    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;public class bb extends JFrame {
       private JTextField[] t = new JTextField[4];
       private GridLayout gridLayout1 = new GridLayout();
       private KeyboardFocusManager m = new DefaultKeyboardFocusManager();   public bb() {
          try {
             jbInit();
          }
          catch(Exception e) {
             e.printStackTrace();
          }
       }
       public static void main(String[] args) {
          bb bb1 = new bb();
          bb1.setSize(100,50);
          bb1.setVisible(true);
       }
       private void jbInit() throws Exception {      this.getContentPane().setLayout(gridLayout1);
          for(int i = 0; i < 4; i++) {
             t[i]=new JTextField();
             t[i].addKeyListener(new java.awt.event.KeyAdapter() {
                public void keyReleased(KeyEvent e) {
                   m.focusNextComponent();
                }
             });
             getContentPane().add(t[i], null);
          }
       }
    }