Então estou fazendo uma tela que tem 3 Jtextfield para pegar dia, mes e ano, cada um deles tem um limite de caracter 2,2,4.
Porem estou com uma grande dificuldade procurei em todos os lugares mais eu n achei, eu queria que quando eu termina-se de preencher o primeiro Jtextfield o meu cursor fosse ja para o segundo e assim por diante , como eu posso resolver este problema.
E mais uma duvida rapida aqui eu queria que quando esta janela fosse a berta o meu curso ja fosse para uma certa Jtextfield tentei usar o metodo
Como aplicacoes swing sao orientadas a eventos, estarei explicando como voce pode solucionar seu problema usando o evento caretUpdate da interface javax.swing.event.CaretListener, como segue:
packageframe;publicclassNewJFrameextendsjavax.swing.JFrame{/** Creates new form NewJFrame */publicNewJFrame(){initComponents();txt1.requestFocus();}privatevoidinitComponents(){lbl=newjavax.swing.JLabel();txt1=newjavax.swing.JTextField();txt2=newjavax.swing.JTextField();txt3=newjavax.swing.JTextField();btn=newjavax.swing.JButton();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);lbl.setText("Data");txt1.addCaretListener(newjavax.swing.event.CaretListener(){publicvoidcaretUpdate(javax.swing.event.CaretEventevt){txt1CaretUpdate(evt);}});txt2.addCaretListener(newjavax.swing.event.CaretListener(){publicvoidcaretUpdate(javax.swing.event.CaretEventevt){txt1CaretUpdate(evt);}});txt3.addCaretListener(newjavax.swing.event.CaretListener(){publicvoidcaretUpdate(javax.swing.event.CaretEventevt){txt1CaretUpdate(evt);}});btn.setText("Sair");btn.addActionListener(newjava.awt.event.ActionListener(){publicvoidactionPerformed(java.awt.event.ActionEventevt){btnActionPerformed(evt);}});// Codigo que posiciona os componentes graficos na tela e ajusta as suas dimensoes (ocultado)pack();}privatevoidbtnActionPerformed(java.awt.event.ActionEventevt){System.exit(0);}privatevoidtxt1CaretUpdate(javax.swing.event.CaretEventevt){javax.swing.JTextFieldtxt=(javax.swing.JTextField)evt.getSource();if(txt.getText().length()>4){if(txt.equals(txt1)){txt2.requestFocus();}if(txt.equals(txt2)){txt3.requestFocus();}if(txt.equals(txt3)){btn.requestFocus();}}}publicstaticvoidmain(Stringargs[]){java.awt.EventQueue.invokeLater(newRunnable(){publicvoidrun(){newNewJFrame().setVisible(true);}});}privatejavax.swing.JButtonbtn;privatejavax.swing.JLabellbl;privatejavax.swing.JTextFieldtxt1;privatejavax.swing.JTextFieldtxt2;privatejavax.swing.JTextFieldtxt3;}