スクロールバー


バーから値を得る

何らかの値を直感的にユーザーに入力させるのに適したインタフェイスがスクロールバーです
たとえば、色の設定などでは三原色をスクロールバーで入力させるケースが多いですね

スクロールバーを生成するにはjava.awt.Scrollbarクラスを使用します
以下のコンストラクタがあります

public Scrollbar()
public Scrollbar( int orientation )
public Scrollbar( int orientation, int value, int visible, int minimum, int maximum )

パラメータに何も指定しない場合は、垂直スクロールバーを生成します
orientationにはスクロールバーの方向を定数で指定します
value似はスクロールバーの初期値、visibleにはページアップやダウン時に使用されるサイズ
minimumには最小値、maximumには最大値を指定します

バーの方向を指定する定数は、同クラスに次のように指定されています

public static final int HORIZONTAL 水平スクロールバー
public static final int VERTICAL 垂直スクロールバー

リスナの追加はaddAdjustmentListener()が定義されています

public synchronized void addAdjustmentListener( AdjustmentListener lis )

lisには追加するリスナを指定します
ここで出てきたjava.awt.event.AdjustmentListenerインターフェイス
調整値が変更されると呼び出されるadjustmentValueChanged()メソッドが宣言されています

public abstract void adjustmentValueChanged( AdjustmentEvent e )

イベント元の値を得るには、ここで受け取るjava.awt.event.AdjustmentEventクラスを利用できます
イベント元のオブジェクトはgetAbjustable()メソッドを
調整イベント中の現在の値はgetValue()で得ることができます

public Adjustable getAdjustable()
public int getValue()

getAbjustable()メソッドが返すのはjava.awt.Adjustableインターフェイスです
これはScrollbarクラスがインプリメントしています
getValue()は、調整イベント中の現在の値を返します

スクロールバーの現在の値を得るのに、getValue()メソッドはScrollbarクラスにも用意されています
内容はAdjustmentEventクラス同様に、現在の値をint型で返します
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;

/*	<applet code="App39.class" width="300"height="300">
 	</applet>
*/

public class App39 extends Applet implements AdjustmentListener {
	Scrollbar bar[] = new Scrollbar[3];
	public void init() {
		setBackground(Color.white);
		for (int i = 0 ; i < 3 ; i++) {
			bar[i] = (Scrollbar)add(new Scrollbar(
				Scrollbar.HORIZONTAL , 255 , 0 , 0 , 255));
		}
		bar[0].addAdjustmentListener(this);
		bar[1].addAdjustmentListener(this);
		bar[2].addAdjustmentListener(this);
	}
	public void adjustmentValueChanged(AdjustmentEvent e) {
		setBackground(new Color(
			bar[0].getValue() , bar[1].getValue() , bar[2].getValue()));
	}
}
アプレット

スクロールバーを移動させると、背景色が変化します
最初のバーが赤(R)、次が緑(G)、最後のバーが青(B)です



前のページへ戻る次のページへ