私のアプリケーションでは、内部的に値の範囲が0になっていますが、ユーザーは1から始まるこの範囲を参照する必要があります。このオフセットの要素をプレゼンテーションに移動することが適切であると考えました。この場合、JSpinnerコンポーネントです。オフセットがある場合はコンストラクタで指定することができます(すべての値にそのオフセットがあるわけではありません)。しかし、モデルのJSpinnerまたは getValue()
の 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
をもう一度呼び出し、さらに増分し、イベントを発生させ、増分などを行います。
どのようにこれを解決することができますか?ありがとう