Java JSpinner阻止字母插入
JSpinner用于在我的应用程序中存储一个数字(使用SpinnerNumberModel) 正如预期的那样,微调器不允许存储无效字符(字母、符号等)。但是,当我输入这些字符时,它们确实会出现在微调器组件中。一旦我将焦点切换到另一个组件,它们就会消失Java JSpinner阻止字母插入,java,insertion,jspinner,letter,Java,Insertion,Jspinner,Letter,JSpinner用于在我的应用程序中存储一个数字(使用SpinnerNumberModel) 正如预期的那样,微调器不允许存储无效字符(字母、符号等)。但是,当我输入这些字符时,它们确实会出现在微调器组件中。一旦我将焦点切换到另一个组件,它们就会消失 有没有办法防止无效字符出现在微调器中?您可以在微调器的编辑器中添加DocumentFilter,以防止将不需要的字符添加到文档中。您可以使用如下代码获得编辑器: JTextField editor = ((JSpinner.DefaultEdito
有没有办法防止无效字符出现在微调器中?您可以在微调器的编辑器中添加DocumentFilter,以防止将不需要的字符添加到文档中。您可以使用如下代码获得编辑器:
JTextField editor = ((JSpinner.DefaultEditor)spinner.getEditor()).getTextField();
有关更多信息,请阅读Swing教程中的部分。感谢您的回答,但是getEditor方法返回JComponent,而JComponent类中没有getTextField方法。我需要将返回的JComponent转换为其他组件吗?是的,需要转换。“JTextField编辑器=((JSpinner.DefaultEditor)spinner.getEditor()).getTextField()。你应该为将来的观众更新你的答案。