TOP →
Java →
Swing →
JSlider → This Page
JSlider@Swing サンプル06
概要
Java -
Swing -
JSlider のサンプルです。
・値の取得
・チェンジイベント
解説
チェンジイベントを実現するには ChangeListener を implements したクラスにする必要があります。
ChangeListener を implements すると、stateChanged メソッドを実装する必要があります。
このメソッドにチェンジイベントの処理内容を記述します。
また、addChangeListener メソッドでスライダからのイベントが受け取れるようにチェンジリスナーの追加を行います。
今回のサンプルではスライダの値を変更すると、ラベルに現在の値が表示されるようにしています。
サンプルイメージ
サンプルソース
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
/**
* JSlider サンプル06
* ・値の取得
* ・チェンジイベント
*
* @author みっちー
*/
public class JSlider06 extends JFrame implements ChangeListener {
private static final long serialVersionUID = 1L;
/** スライダ */
private JSlider slider = null;
/** 値表示用ラベル */
private JLabel label = null;
/**
* 開始メソッド
*
* @param args パラメータ
*/
public static void main(String[] args) {
JSlider06 frame = new JSlider06();
// 閉じるボタンをクリックされた場合の動作を設定
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ウインドウのタイトルを設定
frame.setTitle("JSlider サンプル06");
// フレームの X座標、Y座標、幅、高さを設定
frame.setBounds(100, 200, 400, 100);
// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
frame.setVisible(true);
}
/**
* コンストラクタ
*/
public JSlider06() {
// パネルを作成
JPanel panelBase = new JPanel();
// スライダを作成
slider = new JSlider();
// 目盛りを表示
slider.setPaintTicks(true);
// 大目盛り
slider.setMajorTickSpacing(10);
// ラベルを表示
slider.setPaintLabels(true);
// イベント取得可能にする
slider.addChangeListener(this);
// ラベルを作成
label = new JLabel("");
label.setText("現在の値は " + slider.getValue() + " です。");
// スライダ、ラベルを追加
panelBase.add(slider);
panelBase.add(label);
// パネルを追加
getContentPane().add(panelBase);
}
/**
* チェンジイベント
*
* @param e
*/
public void stateChanged(ChangeEvent e) {
label.setText("現在の値は " + slider.getValue() + " です。");
}
}
サンプルソースのダウンロード
ソースのダウンロード(Eclipse用のプロジェクトファイルも同梱)
更新履歴
2016/05/13 Windows 8.1 + Java 7 環境で全体を見直し
2008/01/23 新規作成
TOP →
Java →
Swing →
JSlider → This Page