JavaのJSliderでエクステント(extent)を設定する方法
SwingのJSliderでは、スライダーのエクステント(extent)を設定するためにsetExtent()メソッドを使用します。エクステントとは、スライダーのつまみ(ノブ)がカバーする範囲のサイズのことで、この値を設定すると、ユーザーはスライダーをその範囲以上に移動できなくなります。
setExtent()メソッドの基本的な使い方
以下のように、JSliderオブジェクトに対してsetExtent()メソッドを呼び出すだけで、エクステントを設定できます。
JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 100, 70); slider.setMinorTickSpacing(5); slider.setMajorTickSpacing(20); slider.setPaintTicks(true); slider.setPaintLabels(true); slider.setExtent(20);
上記のコードでは、最小値0・最大値100・初期値70の水平方向スライダーを作成し、目盛りの間隔やラベル表示を設定した後、setExtent(20)によってエクステントを20に指定しています。
サンプルプログラム
ここでは、JSliderのエクステントを実際に設定する完全なサンプルプログラムを紹介します。
package my;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.WindowConstants;
public class SwingDemo {
public static void main(String[] args) {
JFrame frame = new JFrame("Frame with Slider");
JSlider slider = new JSlider(JSlider.HORIZONTAL, 0, 100, 70);
slider.setMinorTickSpacing(5);
slider.setMajorTickSpacing(20);
slider.setPaintTicks(true);
slider.setPaintLabels(true);
slider.setExtent(20);
JPanel panel = new JPanel();
panel.add(slider);
frame.add(panel);
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(500, 300);
frame.setVisible(true);
}
}実行結果
プログラムを実行すると、次のようにJSliderが表示されます。

エクステントが設定されているため、スライダーのつまみは最大値(右端)まで移動できません。ドラッグしても、設定された範囲の手前で止まるようになります。

ポイントまとめ
- setExtent(int extent)メソッドで、つまみがカバーできる範囲のサイズを指定できます。
- エクステントを設定すると、スライダーの値は「最大値 − エクステント」までしか上がらなくなります。
- 目盛り間隔はsetMinorTickSpacing()とsetMajorTickSpacing()で調整し、setPaintTicks(true)とsetPaintLabels(true)で表示できます。
-
【Java入門】長方形の周囲(外周)を求めるプログラムの作り方
長方形の周囲とは? この記事では、Javaを使って長方形の周囲(外周)を求める方法を解説します。長方形の周囲とは、長方形の4つの辺すべての長さを足し合わせた合計のことで、次の図のように「縦の辺2本」と「横の辺2本」の長さを合計したものに相当します。 長方形は向かい合う辺の長さが等しいという性質を持つため、周囲は次の式で計算できます。 周囲 = 2 ×(縦の長さ + 横の長さ) 入力と出力の例 たとえば、入力が次の値であるとします。 長方形の各辺の長さ:5, 8, 5, 8 このとき、期待される出力は次のとおりです。 Perimeter : 26 アルゴリズム 処理の流れは以下のようになりま
-
JavaでJSliderの値の変化を検出する方法をわかりやすく解説
JSliderとは JSliderはJComponentクラスのサブクラスで、スクロールバーに似たSwingコンポーネントです。指定された範囲の整数値の中から、ユーザーが数値を直感的に選択できるようにします。 JSliderには値の範囲上をスライドできるノブ(つまみ)が備わっており、このノブを操作することで特定の値を選択できます。また、スライダーの値が変更されるとChangeEventが発生し、ChangeListenerインターフェースを実装することでその変化を受け取ることが可能です。 値の変化を検出する方法 スライダーを水平方向に動かしたときの値の変化を画面に反映するには、Graphic