JSliderサンプル
基本形
デフォルトコンストラクタでは0から100で初期値50のスライダーが作成されます。
setValue()でスライダに値を設定できます。
getValue()でスライダの現在の値を取得できます。
s.setValue(100);
f.setText("" + s.getValue());
ChangeListenerを追加すると、スライダを操作した時のイベントを受け取れます
s.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
// 変更後の値をJTextFieldに設定してみます
textField.setText("" + s.getValue());
}
});
スライダのサイズを変更するには、setPreferredSize()を使います。
getPrefferedSize()で初期値を取得して横幅だけ変更することもできます。
JSlider s = new JSlider();
Dimension d = s.getPreferredSize();
d.setSize(100, d.height);
s.setPreferredSize(d);
add(s);
マウスを離した時のイベント
普通にChangeListenerを使うと、スライダ操作中リアルタイムにイベントが発生します
JSliderにはマウスを離した瞬間のイベントは無いそうなので、
JSlider#getValueIsAdjustingで「現在マウスで操作中か」を判定します
add(new JLabel("マウスを離した時に反応するスライダ"));
slider1 = new JSlider();
slider1.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
if (!slider1.getValueIsAdjusting()) {
// マウスで掴んでる間はgetValueIsAdjusting()でtrueが返って来ます
// マウスを離すとfalseが返ります
textField1.setText("マウス離した" + slider1.getValue());
}
}
});
最終更新:2012年12月15日 03:21