在我的应用程序中,一些值的内部范围从 0 开始。但是用户应该看到这个范围从 1 开始。我认为将这些偏移的东西移到表示中是合适的。在这种情况下,它是 JSpinner 组件。这样我就可以在构造函数中指定是否有偏移量(并非所有值都有)。getValue()
但是,如果我将 JSpinner 或模型覆盖为getValue()
类似的东西(+1 仅用于测试)
public Object getValue() {
Number value = (Number)super.getValue();
Number newValue=value;
if (value instanceof Double){
newValue=value.doubleValue()+1;
}
else if (value instanceof Integer){
newValue = value.intValue()+1;
}
return newValue;
}
它进入无限循环。我想,它在这里出于某种原因触发状态更改事件。再次调用getValue
,增加更多,触发事件,增加等等。这怎么可能解决?谢谢