การทำงานของ 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 ) สามารถมองเห็นได้
ผลลัพธ์