Java JSpinner empêcher l'insertion Lettre
Question
A JSpinner est utilisé pour stocker un numéro dans ma demande (avec un SpinnerNumberModel).
Comme prévu, la fileuse ne permet pas des caractères non valides (lettres, symboles, etc.) à stocker. Cependant, ces caractères apparaissent dans le composant spinner quand je les ai saisis. Dès que je Renverser la tendance à un autre composant, ils disparaissent.
Y at-il un moyen d'empêcher des caractères non valides d'apparaître dans la fileuse?
La solution
Vous pouvez ajouter un DocumentFilter au rédacteur en chef de la centrifugeuse afin d'éviter le caractère indésirable d'être ajouté au document. Vous obtenez l'éditeur en utilisant le code comme:
JTextField editor = ((JSpinner.DefaultEditor)spinner.getEditor()).getTextField();
Lisez la section du tutoriel Swing sur mise en œuvre un document filtre pour plus d'informations.