JSliderクラスの定義とコンストラクタ

広告

JSliderクラスの定義を確認します。クラス図は次のようになっています。

java.lang.Object
  java.awt.Component
    java.awt.Container
      javax.swing.JComponent
        javax.swing.JSlider

public class JSlider
extends JComponent
implements SwingConstants, Accessible

JSliderクラスはJComponentクラスのサブクラスとなっています。JComponentクラスはSwingで用いられる多くのコンポーネントのベースとなっているクラスです。

JSliderクラスのコンストラクタ

JSliderクラスをを利用するにはコンストラクタを使ってJSliderクラスのオブジェクトを作成します。どのようなコンストラクタが用意されているか確認してみます。

コンストラクタ
JSlider()
範囲が 0 ~ 100、初期値が 50 の水平スライダを作成します。
JSlider(BoundedRangeModel brm)
指定された BoundedRangeModel を使って水平スライダを作成します。
JSlider(int orientation)
方向を指定して、範囲が 0 ~ 100、初期値が 50 のスライダを作成します。
JSlider(int min, int max)
最小値と最大値の合計を平均した値に等しい初期値を持つ、指定された最小値および最大値を使って、水平スライダを作成します。
JSlider(int min, int max, int value)
最小値、最大値、および初期値を指定して、水平スライダを作成します。
JSlider(int orientation, int min, int max, int value)
方向、最小値、最大値、および初期値を指定して、スライダを作成します。

スライダーを使って管理するのは「最小値」「最大値」「初期値」「スライダーの方向」の4つです。スライダーは値を指定するためのコンポーネントですので指定する値の最小値と最大値及び初期値をコンストラクタで設定できます。またスライダーは横方向と縦方向の2つの種類が用意されておりコンストラクタで指定することが可能です。

では1番目のコンストラクタを確認してみます。

範囲が 0 ~ 100、初期値が 50 の水平スライダを作成します。

実際の使い方は次のようになります。

JSlider slider = new JSlider();

サンプルプログラム

では簡単なサンプルを作成して試してみます。

JSliderTest1.java

import javax.swing.*;
import java.awt.BorderLayout;

public class JSliderTest1 extends JFrame{

  public static void main(String[] args){
    JSliderTest1 frame = new JSliderTest1();

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setBounds(10, 10, 300, 200);
    frame.setTitle("タイトル");
    frame.setVisible(true);
  }

  JSliderTest1(){

    JSlider slider = new JSlider();

    JPanel p = new JPanel();
    p.add(slider);

    getContentPane().add(p, BorderLayout.CENTER);
  }
}

上記をコンパイルした後で実行すると次のように表示されます。

JSliderのサンプル

スライダーのノブはマウスでドラッグして動かすことができます。

JPopupMenuのサンプル

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。