Question

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 component, they disappear.

Is there a way to prevent invalid characters from appearing in the spinner?

Was it helpful?

Solution

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top