Witam, chcialabym aby aplikacja bo wpisaniu litery w JTextField sprawdzala kolejny JTextField i jesli jest on pusty, ustawiała się w nim i czekała na wpisanie kolejnej litery. w 90% przypadków działa na poniższym kodzie, jednak nieraz okazuje sie ze sprawdza kolejną kratkę zanim jeszcze wprowadzę literę. Ponizej przykład kodu wpisania litery w pierwszym JTextFieldzie i następnie sprawdzenia czy kolejny jest pusty i przejścia do niego, jesli jest w nim "X" sprawdza kolejny i jesli kolejny jest pusty powinna przeskoczyć do niego, itd... co robię nie tak?

if (src==mlh)  {
String s = "X";
o = s.charAt(0);
wyniki3[0] = e.getKeyChar();
myTime = System.currentTimeMillis();
result3[0] = 0; 
      //sprawdza druga kratke
if (!"X".equals(mlh1.getText()))   {
                mlh.transferFocus();
                }
            //jesli druga jest X a trzecia nie
             if ((("X".equals(mlh1.getText()))) && ((!"X".equals(mlh2.getText())))){  
                mlh2.requestFocusInWindow();
                wyniki3[1]=o;
                result3[1]=0;
                }
             //jesli 2 i 3 są X 
                if ((("X".equals(mlh1.getText()))) && (("X".equals(mlh2.getText())))){
                 wyniki3[1]=o;
                 wyniki3[2]=o;
                result3[1]=0;
                result3[2]=0;
               mlh3.requestFocusInWindow();
               }    
}