私のアプリケーションでは、内部的には0からの範囲の値があります。しかし、ユーザーはこの範囲を1から開始しなければなりません。 。この場合、JSpinnerコンポーネントです。オフセットがある場合はコンストラクタで指定することができます(すべての値にそのオフセットがあるわけではありません)。しかし、私はそれ(+1は単なるテストのためである)のようなものであることをJava:いくつかのオフセットでJSpinnerの表示値を作るにはどうすればいいですか
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;
}
をモデルにするJSpinnerのgetValue()
またはgetValue()
をオーバーライドする場合、それは無限ループに入ります。私は、ここで何らかの理由で国家変更イベントが発生すると思う。 getValue
をもう一度呼び出し、さらに増分し、イベントを発生させ、増分などを行います。 これはどのように解決できますか?おかげ
したがって、オフセットがある場合、JSpinnerは 'value + offset'を' SpinnerNumberModel'に渡し、基本的に 'getValue() - offset'メソッドである' getAdjustedValue'メソッドを提供します。あなたは正しいことを理解しましたか? –
私は上記で詳しく述べました。 – trashgod
ありがとう、それは正しい道に私を得た –