Versão atual:

Meu TextField para Númericos Ainda está aceitando Letras

Prezados, estou com problema para digitar no campo de um determinado TextField. Com o Método abaixo, ele está aceitando que eu digite letras. O metodo é pra aceitar apenas números. O que está errado nele?

Segue o Código:

    public static void numericField(final TextField textField) {
        textField.lengthProperty().addListener(new ChangeListener<Number>() {
            @Override
            public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
                if (newValue.intValue() > oldValue.intValue()) {
                    char ch = textField.getText().charAt(oldValue.intValue());
                    if (!(ch >= '0' && ch <= '9')) {
                        textField.setText(textField.getText().substring(0, textField.getText().length() - 1));
                    }
                } 
            }
        });
    }

Grato pela atenção!!!

Versão(1):

Ver a versão formatada

Meu TextField para Númericos Ainda está aceitando Letras

Comentário

new question