使用9s时Java JSpinner奇数整数显示行为

使用9s时Java JSpinner奇数整数显示行为,java,jspinner,Java,Jspinner,我试图将JSpinner的最大值设置为与最大整数值匹配,以便在MySQL数据库的SQL查询中使用该数字。以下是微调器和模型的设置代码: SpinnerNumberModel spinnerModel = new SpinnerNumberModel(0, 0, Integer.MAX_VALUE, 1); JSpinner spinner = new JSpinner(spinnerModel); JFormattedTextField formatSpinner = (

我试图将JSpinner的最大值设置为与最大整数值匹配,以便在MySQL数据库的SQL查询中使用该数字。以下是微调器和模型的设置代码:

SpinnerNumberModel spinnerModel = 
        new SpinnerNumberModel(0, 0, Integer.MAX_VALUE, 1);
JSpinner spinner = new JSpinner(spinnerModel);
JFormattedTextField formatSpinner = (
        (JSpinner.NumberEditor) spinner.getEditor()).getTextField();
((NumberFormatter) formatSpinner.getFormatter()).setAllowsInvalid(false);
但当通过输入9进行测试时,它允许用户输入额外的9,除非您到达9999999999,否则它会将值更改为1410065398,如果您再次点击9,它会将值更改为1215752102,并停止接受更多的数字。从这里开始,您可以正常递增该值,直到到达
Integer.MAX\u value
,格式化程序将在此处正确停止微调器

如果使用了任何其他数字,微调器通过阻止最后一位数字正常工作(即3s仅允许用户输入333)