修飾子與參數
public void show(Container parent, String name)
show() 沒有回傳值 (return value) ,需要兩個參數 (paramenter) ,第一個為 Container 型態 (type) 的物件 (object) ,也就是設定為 CardLayout 的 Container 物件,第二個為 String 型態的字串物件,也就是加入卡片元件時設定的名稱。
舉例如下
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
沒有留言:
張貼留言