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

时间:2012-11-13 17:12:05

标签: java jspinner

我正在尝试设置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);

但是当通过输入9s进行测试时,它允许用户输入额外的9,除非你到达9,999,999,999,它将值更改为1,410,065,398,如果再次达到9,则将值更改为1,215,752,102并停止接受更多数字。从那里你可以正常增加值,直到你到达Integer.MAX_VALUE,格式化程序正确地停止了微调器。

如果使用任何其他数字,则微调器通常会阻塞最后一位数(即3s只允许用户输入333,333,333)。

0 个答案:

没有答案