- Home ›
- Swing ›
- JSliderクラス ›
- HERE
スライダーの方向を設定する
スライダーはデフォルトでは水平方向に表示されていますが、垂直方向のスライダーを作成することも可能です。
スライダーの方向を設定するにはコンストラクタで指定する方法とメソッドを使う方法があります。まずはコンストラクタで設定する方法を確認します。
JSlider public JSlider(int orientation)
方向を指定して、範囲が 0 ~ 100、初期値が 50 のスライダを作成します。方
向は、SwingConstants.VERTICAL または SwingConstants.HORIZONTAL になりま
す。
パラメータ:
orientation - スライダの方向
例外:
IllegalArgumentException - 方向が VERTICAL または HORIZONTAL のどちら
でもない場合
引数にはスライダーの方向を設定します。設定できる値は次のどちらかです。
| 値 | 方向 |
|---|---|
| JSlider.VERTICALERT | 垂直方向 |
| JSlider.HORIZONTAL | 水平方向 |
実際の使い方は次のようになります。
JSlider slider = JSlider(JSlider.VERTICALERT);
また方向だけでなく最小値、最大値、初期値をまとめて指定できるコンストラクタも用意されています。
JSlider
public JSlider(int orientation,
int min,
int max,
int value)
方向、最小値、最大値、および初期値を指定して、スライダを作成します。方
向は、SwingConstants.VERTICAL または SwingConstants.HORIZONTAL になり
ます。
スライダの最小値、初期値、および最大値として設定された値が適切でないた
めに問題が発生した場合は、スライダのデータを保持する BoundedRangeModel
がその問題を処理します。詳細は、BoundedRangeModel のドキュメントを参照
してください。
パラメータ:
orientation - スライダの方向
min - スライダの最小値
max - スライダの最大値
value - スライダの初期値
例外:
IllegalArgumentException - 方向が VERTICAL または HORIZONTAL のどちら
でもない場合
引数にはスライダーの方向、最小値、最大値、初期値をそれぞれ指定します。
メソッドで指定する
JSliderクラスのオブジェクトを作成してからメソッドを使ってスライダーの方向を設定することも可能です。JSliderクラスで用意されている「setOrientation」メソッドを使います。
setOrientation public void setOrientation(int orientation)
スライダの方向を newOrientation (SwingConstants.VERTICAL または
SwingConstants.HORIZONTAL) に設定します。
パラメータ:
orientation - HORIZONTAL または VERTICAL
例外:
IllegalArgumentException - 方向が VERTICAL または HORIZONTAL のどちら
でもない場合
引数にはスライダーの方向を指定します。指定できる値はコンストラクタの場合と同じです。
実際の使い方は次のようになります。
JSlider slider = JSlider(10, 1000); slider.setOrientation(JSlider.VERTICAL);
サンプルプログラム
では簡単なサンプルを作成して試してみます。
import javax.swing.*;
import java.awt.BorderLayout;
import javax.swing.event.*;
public class JSliderTest5 extends JFrame implements ChangeListener{
JSlider slider;
JLabel label;
public static void main(String[] args){
JSliderTest5 frame = new JSliderTest5();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(10, 10, 300, 270);
frame.setTitle("タイトル");
frame.setVisible(true);
}
JSliderTest5(){
slider = new JSlider();
slider.setOrientation(JSlider.VERTICAL);
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