- Home ›
- Swing ›
- JSliderクラス ›
- HERE
スライダーの値を取得する
広告
スライダーを使って設定した値を取得する方法を確認します。JSliderクラスで用意されている「getValue」メソッドを使います。
getValue public int getValue()
BoundedRangeModel のスライダの現在値を返します。 戻り値: スライダの現在値
スライダーに設定されている現在値をint型の値として取得します。
実際の使い方は次のようになります。
JSlider slider = JSlider(); int val = slider.getValue()
スライダーの値の取得するタイミングとしては、例えば他のボタンなどがクリックされた時に値を取得してもいいですが、スライダーのノブが移動して値が変化した時に値を取得するようにすればスライダーの移動に合わせて最新の値を常に取得できます。このように使う場合には「ChangeEvent」イベントを使います。(「ChangeEvent」イベントの詳細は別のページで確認します)。
サンプルプログラム
では簡単なサンプルを作成して試してみます。
import javax.swing.*;
import java.awt.BorderLayout;
import javax.swing.event.*;
public class JSliderTest2 extends JFrame implements ChangeListener{
JSlider slider;
JLabel label;
public static void main(String[] args){
JSliderTest2 frame = new JSliderTest2();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(10, 10, 300, 200);
frame.setTitle("タイトル");
frame.setVisible(true);
}
JSliderTest2(){
slider = new JSlider();
slider.addChangeListener(this);
JPanel p = new JPanel();
p.add(slider);
label = new JLabel();
label.setText("値:" + slider.getValue());
getContentPane().add(p, BorderLayout.CENTER);
getContentPane().add(label, BorderLayout.PAGE_END);
}
public void stateChanged(ChangeEvent e) {
label.setText("値:" + slider.getValue());
}
}
上記をコンパイルした後で実行すると次のように表示されます。
スライダーのノブを移動させるとその時の値を画面下部に表示します。
( Written by Tatsuo Ikura )
JavaDrive