私の質問は非常に簡単ですが、残念ながら私は答えを見つけることができません。 基本的に、私は2 JSpinner
でスイングウィンドウを持っています。 2番目のJSpinner
は、最初のJSpinner
の上限を定義する必要があります。たとえば、ユーザーが2番目のJSpinner
に値4を設定した場合、最初のJSpinner
には4を超える値を設定できません。スピナーの現在の範囲を取得しますか?
// First spinner
SpinnerNumberModel spinnerLimits_sante = new SpinnerNumberModel(3, 0.25, 3, 0.25);
JSpinner spin_sante = new JSpinner(spinnerLimits_sante);
// Second spinner
JSpinner spin_sante_max = new JSpinner(spinnerLimits_sante_max);
SpinnerNumberModel spinnerLimits_sante_max = new SpinnerNumberModel(3, 3, 32767, 1);
:現在最初
JSpinner
に表示される値が4以上である場合、私は、だから私は、最初の境界を設定するために、コンストラクタで
SpinnerNumberModel
と私の2つの
JSpinner
Sを構築しました。4.
に設定します
それが変わるときに、第2 JSpinner
の値を取得するには、私はそれにChangeListener
を使用して考えました。したがって、変更するたびに新しい値を取得し、新しい境界を使用してSpinnerNumberModel
オブジェクトを再作成することができます(下限および間隔は変更されませんが上限が更新され、値が更新されると値が更新されます)。高値より高い)。
ChangeListener listenerSanteMax = new ChangeListener() {
public void stateChanged(ChangeEvent e) {
int newBound = spin_sante_max.getValue();
// ...
}
};
spin_sante_max.addChangeListener(listenerSanteMax);
私がこだわっているところ残念ながら、これは次のとおりです。JSpinner
はSpinnerNumberModel
オブジェクトもその値を返します何のゲッターを持っていません。 それがあったとしても、セッターがないようです。
私の質問 スピナーの範囲と値を動的に変更することはできますか?
ありがとうございます!
とそれを使用する(それが '' SpinnerNumberModel' instanceof'だ場合、テスト) 'Spinner'からモデルを取得します。 * "だから、私の質問:ダイナミックレンジとスピンナの値を変更することは可能ですか?"* - 試したことはありませんが、一度SpinnerNumberModelを設定すると、そのプロパティを変更することができます – MadProgrammer
タイプキャストと呼ばれることに慣れていますか? –