Java API 分類導覽 - java.awt.CardLayout previous()

CardLayout 類別 (class) 的 previous() 方法 (method) 用來顯示前一張卡片。



修飾子與參數
public void previous(Container parent)


previous() 沒有回傳值 (return value) ,需要一個 Container 型態 (type) 的物件 (object) 當參數 (paramenter) ,也就是設定為 CardLayout 的 Container 物件。


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

public class CardLayoutDemo implements ActionListener {
    Frame frame;
    Panel p1, p2;
    CardLayout card;
    Button next, previous, first, last, show;    
    
    public static void main(String[] args) {
        new CardLayoutDemo();
    }
    
    public CardLayoutDemo() {
        Frame frame = new Frame("AWTDemo");
        frame.addWindowListener(new AdapterDemo());
        frame.setSize(400, 200);
        
        p1 = new Panel();
        card = new CardLayout();
        p1.setLayout(card);
        p1.add(new Label("one"), "one");
        p1.add(new Label("two"), "two");
        p1.add(new Label("three"), "three");
        p1.add(new Label("four"), "four");
        p1.add(new Label("five"), "five");
        
        p2 = new Panel();
        p2.setLayout(new FlowLayout());
        next = new Button("NEXT");
        next.setActionCommand("next");
        next.addActionListener(this);
        previous = new Button("PREVIOUS");
        previous.setActionCommand("previous");
        previous.addActionListener(this);
        first = new Button("FIRST");
        first.setActionCommand("first");
        first.addActionListener(this);
        last = new Button("LAST");
        last.setActionCommand("last");
        last.addActionListener(this);
        show = new Button("SHOW");
        show.setActionCommand("show");
        show.addActionListener(this);
        p2.add(next);
        p2.add(previous);
        p2.add(first);
        p2.add(last);
        p2.add(show);
        
        frame.add(p1, BorderLayout.CENTER);
        frame.add(p2, BorderLayout.SOUTH);
        frame.setVisible(true);
    }
    
    public void actionPerformed(ActionEvent e) {
        String cmd = e.getActionCommand();
        if (cmd == "next") {
            card.next(p1);
        }
        if (cmd == "previous") {
            card.previous(p1);
        }
        if (cmd == "first") {
            card.first(p1);
        }
        if (cmd == "last") {
            card.last(p1);
        }
        if (cmd == "show") {
            card.show(p1, "three");
        }
    }
}

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

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


此例將 Panel 型態的 p1 設定成 CardLayout ,然後呼叫 add() 方法依序加入五個卡片,每張卡片顯示英文數字的文字標籤
p1 = new Panel();
card = new CardLayout();
p1.setLayout(card);
p1.add(new Label("one"), "one");
p1.add(new Label("two"), "two");
p1.add(new Label("three"), "three");
p1.add(new Label("four"), "four");
p1.add(new Label("five"), "five");



接著在另一個 Panel 型態的 p2 加入五個按鈕,點擊 NEXT 呼叫 CardLayout 的 next() 跳到下一張卡片, PREVIOUS 呼叫 previous() 回到上一張卡片, FIRST 呼叫 first() 到第一張卡片, LAST 呼叫 last() 到最後一張卡片, SHOW 呼叫 show() 顯示第三張卡片
public void actionPerformed(ActionEvent e) {
    String cmd = e.getActionCommand();
    if (cmd == "next") {
        card.next(p1);
    }
    if (cmd == "previous") {
        card.previous(p1);
    }
    if (cmd == "first") {
        card.first(p1);
    }
    if (cmd == "last") {
        card.last(p1);
    }
    if (cmd == "show") {
        card.show(p1, "three");
    }
}


編譯後執行,結果如下



中英文術語對照
類別class
方法method
回傳值return value
型態type
物件object
參數parameter


您可以繼續參考
排版管理員


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


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

沒有留言: