Implementar sua própria mascara

Boa noite, estou precisando implementar uma mascara, mas estou com um problema como evito que a informação seja digitada sem antes passar pela validação?
Eu tenho um código que valida somente os dados que quero que sejam digitados naquele campo, mas no TextField sempre aparece o que foi digitado.
Aqui está meu código.

[code] @FXML private void keyBoradAction(KeyEvent evt){

    if(validarInteiro(arrayInteiro, evt.getText()) !=0){
        String s = marco.getText();
        StringBuilder b = new StringBuilder(s);
        b.deleteCharAt(s.indexOf(evt.getText()));
        marco.setText(b.toString());
    }
}[/code]

Se puderem me ajudar eu agradeço muito.