Ograniczanie danych wejściowych JTextField do liczb całkowitych [duplikat]

To pytanie ma już tutaj odpowiedź:

Czy istnieje sposób akceptowania tylko wartości numerycznych w JTextField? 19 odpowiedzi

Wiem, że to pytanie musiało zostać zadane i odpowiedzieć milion razy, ale nie mogę znaleźć łatwego rozwiązania. Mam pole JTextField, które ma przyjmować tylko pozytywne liczby całkowite jako dane wejściowe. Potrzebuję sposobu, aby upewnić się, że nic innego nie zostanie wprowadzone tutaj.

Mam już dołączony klucz kontrolny do tej kontrolki. Usuwając inny kod, który ten słuchacz ma obsługiwać, mam to:

       txtAnswer.addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {

            int key = e.getKeyCode();

            /* Restrict input to only integers */
            if (key < 96 && key > 105) e.setKeyChar('');
        };
    });

Jak widać, próbuję użyć Kodu Kluczowego, aby sprawdzić, czy właśnie naciśnięty klawisz mieści się w zakresie liczb całkowitych. To wydaje się działać. Ale chcę tylko zignorować wpis, jeśli nie mieści się w tym zakresie. Kode.setKeyChar('') miał to załatwić, ale to nie działa. Kod zostanie skompilowany, ale nie ma widocznego efektu.

Czy ktoś może mi powiedzieć, czy jestem na dobrej drodze? Co mogę wymienić?e.setKeyChar('') z, aby to działało? A może całkowicie zmierzam w złym kierunku?

Dzięki.

questionAnswers(6)

yourAnswerToTheQuestion