7

JSliderまたはJSpinnerの値が、メソッドではなくグラフィカルインターフェイスを介して設定されているかどうかを確認するにはどうすればよいsetValue( int n)ですか?

4

2 に答える 2

5

プログラムで setValue を呼び出すときはいつでも (呼び出す前に) ブール値を true に設定し、イベント処理が完了したら false にリセットします。

于 2013-01-14T14:23:04.000 に答える
1

内部的に、「setValue」が呼び出されます。ChangeListenerを実装してそのイベントをキャプチャすることにより、ユーザーがスライダーのノブを動かしたときにイベントをキャッチしてみることができます。さらに、ノブを動かすと多くの変更イベントがトリガーされることに注意してください。そのため、スライダーの最終的な値に関心がある場合は、getValueIsAdjustingそれが に評価されるときにを使用してfalseください。


問題が にある場合はChangeListener、JSlider コンポーネントを拡張して、新しい値を受け取り、それを発行する新しいメソッドを追加して (たとえば、int コードまたは列挙型を使用して)、カスタムを作成した後に値の設定を導出します。ロジックを実際の setValue メソッドに追加します。

あなたの場合、setValue私が間違っていなければ、特定のコンポーネントがそれを呼び出すかどうかの呼び出しを防ぎたいと思うでしょう。

于 2013-01-14T14:17:47.637 に答える