2

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

4

0 回答 0