operacje na klawiszach i TextFieldach

0

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();
               }    
}
0

Kod jest dosyć zagmatwany, nie wiemy za co odpowiada tablica wyniki (pobiera dane z pól tekstowych?), a za co result3? Nazwy są dosyć mylące. Dodatkowo zauważ, że Twój kod sprawdzający drugą kratkę sprawdza kolejne przypadki tylko, kiedy źródłem jest mlh (czymkolwiek jest). Podrzuć więcej kodu i powiedz, za co odpowiadają te dwie tablice to ogarnę co i jak. Używasz ActionListenera?

0

result3 to tablica która pobiera czasy odstępów pomiędzy wpisywaniem liter w koleknych textfieldach a wyniki3 to tablica która pobiera znaki wpisywane w kolejnych textfieldach. używam keylistenera

0

Okej powoli ogarniam kod, ale musisz mi jeszcze powiedzieć, czy masz to w KeyTyped czy w KeyPressed? I czym jest src skoro w 4 linijce masz wyniki3[0] = e.getKeyChar();, czyli to e jest KeyEventem. Rzuć kod na Pastebina czy GitHuba/BitBucketa i podeślij mi na priv

0

src to ustawienie źródła na TextFielda. wszystko mam w KeyPressed, rano podeślę kod

1 użytkowników online, w tym zalogowanych: 0, gości: 1