Java wczytywanie z klawiatury tylko znakow ktore ja chce

0

Mam takie pytanie. Z java dopiero zaczynam.
Pisze kalkulator do liczb zespolonych(ale to niewazne).

Mam taki problem chce zebym w TextFielda mozna bylo wpisac tylko cyfry, znak plus/minus i kropke.
Czyli np. zaznaczam TextFielda naciskam na klawiaturze "a" i nie ma reakcji, reakcja jest tylko przy cyfrach itp.

Jak w javie to sie robi?? W C++ pamietam robiłem cos takiego ale tu kompletnie nie wiem jak to zrobic.
Moge zast try catch ale nie chce sie bawic w komunikaty-brzydziej to wyglada.

Pomoze ktos jakis kawaleczek kodu ze skladnia by sie przydal( bo ze skladnia tez jeszcze mam troche problemy)/

1

JTextfield ma w s obie document model, a ten z kolei, o ile dobrze pamiętam ma documen tListener, czy coś w ten deseń.
Dodajesz nowego listenera do modelu w nim są metody, które obsługują wpisanie znaku, wciśnięcie klawisza i puszczenie klawisza.
W metodzie która obsługuje naciśnięcie klawisza dajesz warunek, że jeśli klawisz jest cyfrą, lub + _ itp. itd, to updatemodel(), a jak nie to ma nie updatować modelu.

1

Dla zdarzenia keyTyped

 private void jTextField1KeyTyped(java.awt.event.KeyEvent evt) {                                     
        // TODO add your handling code here:
        if (!(evt.getKeyChar() >= '0' && evt.getKeyChar() <= '9') && !(evt.getKeyChar() == '.')&& !(evt.getKeyChar() == '-')&& !(evt.getKeyChar() == '+')) {
            evt.consume();
        }
    } 
0

heh wielkie dzieki.
A tak zbaczajac z tematu to wy to z głowy bierzecie czy szukacie w specyfikacji javy??

1

Po czesci z dokumentacji, a po czesci z glowy ;) A najwiecej z google'a ;p

1
pajoj napisał(a)

heh wielkie dzieki.
A tak zbaczajac z tematu to wy to z głowy bierzecie czy szukacie w specyfikacji javy??

Z Doświadczenia - bo już coś takiego robiłem.

0

Jak problem dla mnie nowy to lektura specyfikacji + głowa. Jak mam przeczucie (pewność), że się z problemem zetknąłem, to przeszukanie dysku.

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