A JSpinner is used to store a number in my application (with a SpinnerNumberModel).
As expected, the spinner doesn't allow invalid characters (letters, symbols, etc.) to be stored. However, those characters do appear in the spinner component when I type them in. As soon as I switch the focus to another c开发者_开发知识库omponent, they disappear.
Is there a way to prevent invalid characters from appearing in the spinner?
You can add a DocumentFilter to the editor of the spinner to prevent unwanted character from being added to the Document. You get the editor using code like:
JTextField editor = ((JSpinner.DefaultEditor)spinner.getEditor()).getTextField();
Read the section from the Swing tutorial on Implementing a Document Filter for more information.
精彩评论