修飾子與參數
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
沒有留言:
張貼留言