2

JSpinner 用于在我的应用程序中存储一个数字(使用 SpinnerNumberModel)。

正如预期的那样,微调器不允许存储无效字符(字母、符号等)。但是,当我输入这些字符时,它们确实出现在微调器组件中。一旦我将焦点切换到另一个组件,它们就会消失。

有没有办法防止无效字符出现在微调器中?

4

1 回答 1

2

您可以将 DocumentFilter 添加到微调器的编辑器中,以防止将不需要的字符添加到 Document 中。您可以使用以下代码获取编辑器:

JTextField editor = ((JSpinner.DefaultEditor)spinner.getEditor()).getTextField();

阅读 Swing 教程中关于实现文档过滤器的部分以获取更多信息。

于 2010-06-09T15:00:01.970 回答