修飾子與參數
public void setValue(int newValue)
setValue() 沒有回傳值 (return value) ,需要一個 int 型態 (type) 的整數參數 (paramenter) ,非物件 (object) 。
舉例如下
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 |
方法 | method |
回傳值 | return value |
型態 | type |
物件 | object |
參數 | parameter |
您可以繼續參考
AWT 元件
相關目錄
Java API 分類導覽
Java 教材
首頁
參考資料
http://docs.oracle.com/javase/6/docs/api/java/awt/Scrollbar.html
沒有留言:
張貼留言