我需要一个可以处理long的JSpinner,但JSpinner只处理double和int。我确实看到一个使用double来模拟long的答案,但我需要能够准确地表示long的每个值。它是一个适用于64位中的每一位的程序,因此double和int不会这样做。
是否有可能让JSpinner使用BigInteger作为数据类型,或者我最好只使用JPanel设计我自己的JSpinner,JaxtField和两个JButton专门用于处理我的情况?现在,我倾向于后者。
答案 0 :(得分:2)
正如@Aru所提到的,你可以使用SpinnerNumberModel
:
Long val = Long.MAX_VALUE;//set your own value, I used to check if it works
Long min = Long.MIN_VALUE;
Long max = Long.MAX_VALUE;
Long step = 1L;
SpinnerNumberModel model = new SpinnerNumberModel(val, min, max, step);
JSpinner spinner = new JSpinner(model);
请注意,您必须使用Long
作为对象而非原始long