Zablokowanie opuszczenia focusa z textfield.

0

Cześć, mam za zadanie zablokowanie opuszczenia textfielda jeśli wartość nie będzie odpowiednia.
Mógłby mi ktoś podpowiedzieć jak się za to zabrać? Powinienem sprawdzać w metodzie focusLost? Tyle że nie wiem jak powiedzieć, gdy wartość jest inna niż potrzebuję to focus ma zostać i podświetlić tego textfielda. Nie widzę żadnej metody typu "stop". Może ktoś się z tym spotkał?

0
    public void focusLost(FocusEvent fe)
    {
        JTextField tf = (JTextField) fe.getSource();
        if (zła wartość)
        {
            //komunikat o błędzie
            tf.requestFocus();
        }
    }
0

@bogdans / wrzuciłem tak jak napisałeś tzn ja w metodzie jako parametr metody mam TextFielda więc wrzuciłem nowy obiekt, przepisałem ten z metody i uzupełniłem FocusLost Twoim kodem. To, że informuje o złej treści jest okej ale to zwykłe sprawdzenie equalsem ale gdy skorzystałem z metody

requestFocus();

i gdy spróbowałem przejść z jednego TF'a na drugi to oba zaczęły na zmiane mrygać na ustalone przeze mnie Bordery, nacisnąłem na trzeci i ten się dołączył.

0

Ty nie masz przechodzić z jednego TF na drugi, Ty masz zostać na tym, który traci fokus.

0

Zalezy mi na tym abym nie mogl przeniesc fokusa na inny textfield dopoki wartosc w aktualnym nie bedzie np. cyfra (wpisuje "aa" i fokus zostaje na tym polu dopoki nie wpisze "2", wtedy moge przejsc na inny), moze wczesniej zle to wytlumaczylem?

0

Dobrze wytłumaczyłeś i kod , który ja napisałem działa tak jak chcesz. (trochę go trzeba zmienić, nie przypuszczałem, że ktoś jeszcze korzysta z AWT).

    public void focusLost(FocusEvent fe)
    {
        TextField tf = (TextField) fe.getSource();
        if (zła wartość)
        {
            //komunikat o błędzie
            tf.requestFocus();
        }
    }

Jaki kod Ty napisałeś, to nie wiem.

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