Java API 分類導覽 - java.awt.Scrollbar VERTICAL

Scrollbar 類別 (class) 的 VERTICAL 屬性 (field) 為整數常數 1 ,通常用為 setOrientation() 的參數 (parameter) 。



修飾子
public static final int VERTICAL


舉例如下
import java.awt.*;
import java.awt.event.*;

public class ScrollbarDemo implements AdjustmentListener {
    Frame frame;
    Scrollbar scrollbar1;
    Scrollbar scrollbar2;
    Panel panel;
    Button button;
    int x ,y;
    
    public static void main(String[] args) {
        new ScrollbarDemo();
    }
    
    public ScrollbarDemo() {
        frame = new Frame("AWTDemo");
        frame.addWindowListener(new AdapterDemo());
        frame.setLayout(new BorderLayout());
        frame.setSize(320, 240);
        
        scrollbar1 = new Scrollbar();
        scrollbar1.setMaximum(320);
        scrollbar1.setMinimum(0);
        scrollbar1.setOrientation(Scrollbar.HORIZONTAL);
        scrollbar1.setValue(100);
        x = scrollbar1.getValue();
        scrollbar1.addAdjustmentListener(this);
        scrollbar2 = new Scrollbar();
        scrollbar2.setMaximum(240);
        scrollbar2.setMinimum(0);
        scrollbar2.setOrientation(Scrollbar.VERTICAL);
        scrollbar2.setValue(100);
        y = scrollbar1.getValue();
        scrollbar2.addAdjustmentListener(this);
        
        button = new Button("new");
        button.setSize(50, 20);
        button.setLocation(x, y);
        panel = new Panel(null);
        panel.add(button);

        frame.add(panel, BorderLayout.CENTER);
        frame.add(scrollbar1, BorderLayout.SOUTH);
        frame.add(scrollbar2, BorderLayout.EAST);
        
        frame.setVisible(true);
        
        System.out.println("1 maximum: " + scrollbar1.getMaximum());
        System.out.println("1 minimum: " + scrollbar1.getMinimum());
        System.out.println("1 orientation: " + scrollbar1.getOrientation());
        System.out.println("2 maximum: " + scrollbar2.getMaximum());
        System.out.println("2 minimum: " + scrollbar2.getMinimum());
        System.out.println("2 orientation: " + scrollbar2.getOrientation());
    }
    
    public void adjustmentValueChanged(AdjustmentEvent e) {
        x = scrollbar1.getValue(); 
        y = scrollbar2.getValue();
        System.out.println("x: " + x);
        System.out.println("y: " + y);
        button.setLocation(x, y);
    }
}

class AdapterDemo extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
        System.exit(0);
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:ScrollbarDemo.java
    功能:示範 Java 程式 
    作者:張凱慶
    時間:西元 2012 年 3 月 */


此例的 ScrollbarDemo 直接實作 AdjustmentListener 介面
public class ScrollbarDemo implements AdjustmentListener {


此例建立兩個 Scrollbar 型態的物件,接下來依序呼叫 Scrollbar 型態的 setMaximum() 設定捲軸的最大值, setMinimum() 設定捲軸的最小值, setOrientation() 設定捲軸的方向,第一個用 Scrollbar.HORIZONTAL 設定成水平捲軸,第二個用 Scrollbar.VERTICAL 設定成垂直捲軸,然後呼叫 setValue() 設定捲軸的捲動位置, getValue() 取得捲動位置值給屬性 x 與 y ,最後呼叫 addAdjustmentListener() 設定事件處理,並以 this 當參數
scrollbar1 = new Scrollbar();
scrollbar1.setMaximum(320);
scrollbar1.setMinimum(0);
scrollbar1.setOrientation(Scrollbar.HORIZONTAL);
scrollbar1.setValue(100);
x = scrollbar1.getValue();
scrollbar1.addAdjustmentListener(this);
scrollbar2 = new Scrollbar();
scrollbar2.setMaximum(240);
scrollbar2.setMinimum(0);
scrollbar2.setOrientation(Scrollbar.VERTICAL);
scrollbar2.setValue(100);
y = scrollbar1.getValue();
scrollbar2.addAdjustmentListener(this);


建構子最後工作是在命令列印出相關訊息,依序呼叫 Scrollbar 型態的 getMaximum() 印出捲軸的最大值, getMinimum() 印出最小值, getOrientation() 印出捲軸方向值
System.out.println("1 maximum: " + scrollbar1.getMaximum());
System.out.println("1 minimum: " + scrollbar1.getMinimum());
System.out.println("1 orientation: " + scrollbar1.getOrientation());
System.out.println("2 maximum: " + scrollbar2.getMaximum());
System.out.println("2 minimum: " + scrollbar2.getMinimum());
System.out.println("2 orientation: " + scrollbar2.getOrientation());


由於 ScrollbarDemo 實作 AdjustmentListener 介面,因此要寫出 adjustmentValueChanged()
public void adjustmentValueChanged(AdjustmentEvent e) {
    x = scrollbar1.getValue(); 
    y = scrollbar2.getValue();
    System.out.println("x: " + x);
    System.out.println("y: " + y);
    button.setLocation(x, y);
}


此例的按鈕會隨捲軸轉動移動位置。


編譯後執行,結果如下



中英文術語對照
類別class
屬性field
參數parameter


您可以繼續參考
AWT 元件


相關目錄
Java API 分類導覽
Java 教材
首頁


參考資料
http://docs.oracle.com/javase/6/docs/api/java/awt/Label.html

沒有留言: