Swing-jslider

提供:Dev Guides
移動先:案内検索

スイング-JSliderクラス

前書き

クラス JSlider は、制限された間隔内でノブをスライドさせることにより、ユーザーがグラフィカルに値を選択できるようにするコンポーネントです。

クラス宣言

以下は javax.swing.JSlider クラスの宣言です-

public class JSlider
   extends JComponent
      implements SwingConstants, Accessible

フィールド

以下は、 javax.swing.JSlider クラスのフィールドです-

  • protected ChangeEvent changeEvent -イベントの唯一の(読み取り専用)状態がソースプロパティであるため、スライダーインスタンスごとに1つのChangeEventのみが必要です。
  • protected ChangeListener changeListener -changeListener(接尾辞なし)は、スライダーのモデルに追加するリスナーです。
  • protected int majorTickSpacing -大目盛り間の値の数-小目盛りを分割する大きなマーク。
  • protected int minorTickSpacing -小目盛り間の値の数-大目盛りの間に発生する小さいマーク。
  • protected int orientation -スライダーが水平か垂直かデフォルトは水平です。
  • protected BoundedRangeModel sliderModel -スライダーの数値の最大値、最小値、および現在位置の値を処理するデータモデル。
  • protected boolean snapToTicks -trueの場合、ノブ(およびノブが表すデータ値)は、ユーザーがノブを配置した場所の隣にある最も近い目盛りに解決されます。

クラスコンストラクター

Sr.No. Constructor & Description
1

JSlider()

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

2

JSlider(BoundedRangeModel brm)

指定されたBoundedRangeModelを使用して水平スライダーを作成します。

3

JSlider(int orientation)

範囲0〜100および初期値50の指定された方向を使用して、スライダーを作成します。

4

JSlider(int min, int max)

指定された最小値と最大値を使用して、最小値と最大値の平均に等しい初期値を持つ水平スライダーを作成します。

5

JSlider(int min, int max, int value)

指定された最小値、最大値、および値を使用して水平スライダーを作成します。

6

JSlider(int orientation, int min, int max, int value)

指定された方向と指定された最小値、最大値、および初期値でスライダーを作成します。

クラスメソッド

Swing JSliderクラスのメソッドのリストは次のとおりです。

Sr.No. Method & Description
1

void addChangeListener(ChangeListener l)

ChangeListenerをスライダーに追加します。

2

protected ChangeListener createChangeListener()

モデルからのChangeEventを異なる方法で処理するサブクラスは、これをオーバーライドして、カスタムChangeListener実装のインスタンスを返すことができます。

3

Hashtable createStandardLabels(int increment)

スライダーの最小値から開始し、指定された増分を使用して、数値テキストラベルのハッシュテーブルを作成します。

4

Hashtable createStandardLabels(int increment, int start)

指定した開始点から開始し、指定した増分値を使用して、数値テキストラベルのハッシュテーブルを作成します。

5

protected void fireStateChanged()

このJSliderをソースとするChangeEventを、ChangeEventに関心を登録しているすべてのChangeListenerに送信します。

6

AccessibleContext getAccessibleContext()

このJSliderに関連付けられているAccessibleContextを取得します。

7

ChangeListener[] getChangeListeners()

addChangeListener()でこのJSliderに追加されたすべてのChangeListenerの配列を返します。

8

int getExtent()

BoundedRangeModelから「範囲」を返します。

9

boolean getInverted()

スライダーに表示される値の範囲が逆になった場合、trueを返します。

10

Dictionary getLabelTable()

どのラベルをどの値で描画するかの辞書を返します。

11

int getMajorTickSpacing()

このメソッドは、主目盛間隔を返します。

12

int getMaximum()

BoundedRangeModelのスライダーがサポートする最大値を返します。

13

int getMinimum()

BoundedRangeModelのスライダーでサポートされている最小値を返します。

14

int getMinorTickSpacing()

このメソッドは、小目盛りの間隔を返します。

15

BoundedRangeModel getModel()

スライダーの3つの基本プロパティである最小、最大、値を処理するBoundedRangeModelを返します。

16

int getOrientation()

このスライダーの垂直方向または水平方向を返します。

17

boolean getPaintLabels()

ラベルをペイントするかどうかを指示します。

18

boolean getPaintTicks()

目盛りをペイントするかどうかを指示します。

19

boolean getPaintTrack()

トラック(スライダーがスライドする領域)をペイントするかどうかを通知します。

20

boolean getSnapToTicks()

ノブ(およびノブが表すデータ値)が、ユーザーがノブを配置した場所の隣にある最も近い目盛りに解決される場合、trueを返します。

21

SliderUI getUI()

このコンポーネントのL&Fを実装するUIオブジェクトを取得します。

22

String getUIClassID()

このコンポーネントをレンダリングするL&Fクラスの名前を返します。

23

int getValue()

BoundedRangeModelからスライダーの現在の値を返します。

24

boolean getValueIsAdjusting()

モデルからvalueIsAdjustingプロパティを返します。

25

protected String paramString()

このJSliderの文字列表現を返します。

26

void removeChangeListener(ChangeListener l)

スライダーからChangeListenerを削除します。

27

void setExtent(int extent)

ノブによって「覆われる」範囲のサイズを設定します。

28

void setFont(Font font)

このコンポーネントのフォントを設定します。

29

void setInverted(boolean b)

スライダーに表示される値の範囲を逆にするにはtrueを指定し、値の範囲を通常の順序にするにはfalseを指定します。

30

void setLabelTable(Dictionary labels)

任意の値で描画されるラベルを指定するために使用されます。

31

void setMajorTickSpacing(int n)

このメソッドは、主目盛間隔を設定します。

32

void setMaximum(int maximum)

スライダーの最大値を最大に設定します。

33

void setMinimum(int minimum)

スライダーの最小値を最小に設定します。

34

void setMinorTickSpacing(int n)

このメソッドは、小目盛りの間隔を設定します。

35

void setModel(BoundedRangeModel newModel)

スライダーの3つの基本的なプロパティ、最小、最大、値を処理するBoundedRangeModelを設定します。

36

void setOrientation(int orientation)

スライダーの向きをSwingConstants.VERTICALまたはSwingConstants.HORIZONTALに設定します。

37

void setPaintLabels(boolean b)

スライダーにラベルをペイントするかどうかを決定します。

38

void setPaintTicks(boolean b)

スライダーに目盛りを描画するかどうかを決定します。

39

void setPaintTrack(boolean b)

トラックがスライダーにペイントされるかどうかを決定します。

40

void setSnapToTicks(boolean b)

trueを指定すると、ノブ(およびノブが表すデータ値)は、ユーザーがノブを配置した場所の隣にある最も近い目盛りに解決されます。

41

void setUI(SliderUI ui)

このコンポーネントのL&Fを実装するUIオブジェクトを設定します。

42 *void setValue(int n) Sets the slider’s current value to n. *
43
  • void setValueIsAdjusting(boolean b)*

モデルのvalueIsAdjustingプロパティを設定します。

44

protected void updateLabelUIs()

各ラベルでupdateUIを呼び出すことにより、ラベルテーブル内のラベルのUIを更新します。

45

void updateUI()

UIプロパティを現在のルックアンドフィールの値にリセットします。

継承されるメソッド

このクラスは、次のクラスからメソッドを継承します-

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

JSliderの例

たとえば、 D:/> SWING> com> finddevguides> gui> の任意のエディターを使用して、次のJavaプログラムを作成します。

SwingControlDemo.java

package com.finddevguides.gui;

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

public class SwingControlDemo {
   private JFrame mainFrame;
   private JLabel headerLabel;
   private JLabel statusLabel;
   private JPanel controlPanel;

   public SwingControlDemo(){
      prepareGUI();
   }
   public static void main(String[] args){
      SwingControlDemo  swingControlDemo = new SwingControlDemo();
      swingControlDemo.showSliderDemo();
   }
   private void prepareGUI(){
      mainFrame = new JFrame("Java Swing Examples");
      mainFrame.setSize(400,400);
      mainFrame.setLayout(new GridLayout(3, 1));

      mainFrame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent windowEvent){
            System.exit(0);
         }
      });
      headerLabel = new JLabel("", JLabel.CENTER);
      statusLabel = new JLabel("",JLabel.CENTER);
      statusLabel.setSize(350,100);

      controlPanel = new JPanel();
      controlPanel.setLayout(new FlowLayout());

      mainFrame.add(headerLabel);
      mainFrame.add(controlPanel);
      mainFrame.add(statusLabel);
      mainFrame.setVisible(true);
   }
   private void showSliderDemo(){
      headerLabel.setText("Control in action: JSlider");
      JSlider slider = new JSlider(JSlider.HORIZONTAL,0,100,10);

      slider.addChangeListener(new ChangeListener() {
         public void stateChanged(ChangeEvent e) {
            statusLabel.setText("Value : " + ((JSlider)e.getSource()).getValue());
         }
      });
      controlPanel.add(slider);
      mainFrame.setVisible(true);
   }
}

コマンドプロンプトを使用してプログラムをコンパイルします。 D:/> SWING に移動して、次のコマンドを入力します。

D:\SWING>javac com\finddevguides\gui\SwingControlDemo.java

エラーが発生しない場合、コンパイルが成功したことを意味します。 次のコマンドを使用してプログラムを実行します。

D:\SWING>java com.finddevguides.gui.SwingControlDemo

次の出力を確認します。

Swing JSlider