การทำงานของ CardLayout จัดเรียงส่วนประกอบตามลำดับและมีเพียง ส่วนประกอบเดียวที่มองเห็นได้ในครั้งเดียว จ และแต่ละองค์ประกอบจะถือว่าเป็นการ์ดใบเดียว
เลย์เอาต์การ์ด
- The CardLayout แตกต่างจากเลย์เอาต์อื่นๆ ที่ตัวจัดการเลย์เอาต์อื่นพยายามแสดงส่วนประกอบทั้งหมดภายในคอนเทนเนอร์พร้อมกัน CardLayout แสดงเพียงองค์ประกอบเดียวในแต่ละครั้ง
- ใน CardLayout , การ์ดมักจะอยู่ในภาชนะเช่น JPanel . ส่วนประกอบจะถูกวางลงในคิวการ์ดตามลำดับที่เพิ่มเข้าไป
- วิธีการที่สำคัญของ CardLayout คือ first(), last(), next(), Previous() และ show() .
ตัวอย่าง
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class CardLayoutTest extends JFrame implements ActionListener {
CardLayout card;
JButton b1,b2,b3;
Container con;
CardLayoutTest() {
con = this.getContentPane();
card = new CardLayout(40,30);
con.setLayout(card);
b1 = new JButton("Java");
b2 = new JButton("Python");
b3 = new JButton("Scala");
b1.addActionListener(this);
b2.addActionListener(this);
b3.addActionListener(this);
con.add("a", b1);
con.add("b", b2);
con.add("c", b3);
}
public void actionPerformed(ActionEvent e) {
card.next(con);
}
public static void main(String[] args) {
CardLayoutTest clt = new CardLayoutTest();
clt.setTitle("CardLayout Test");
clt.setSize(350, 275);
clt.setLocationRelativeTo(null);
clt.setDefaultCloseOperation(EXIT_ON_CLOSE);
clt.setVisible(true);
}
} ในตัวอย่างข้างต้น เราสามารถใช้ตัวจัดการ CardLayout ที่มีเพียงองค์ประกอบเดียว (Java ) จะปรากฏบนหน้าต่าง เมื่อเราคลิกที่หน้าต่างส่วนประกอบที่เหลือ (Python และ Scala ) สามารถมองเห็นได้
ผลลัพธ์
