CardLayout-এর কার্যকারিতা কম্পোনেন্টগুলিকে অনুক্রমিকভাবে সাজায় এবং শুধুমাত্র একটি কম্পোনেন্ট একবারে দৃশ্যমান থাকে এবং প্রতিটি কম্পোনেন্টকে একই কার্ড হিসেবে বিবেচনা করা হয়।
CardLayout
- CardLayout অন্যান্য লেআউট থেকে ভিন্ন যেখানে অন্যান্য লেআউট ম্যানেজারগুলো কন্টেইনারের ভিতরে সকল কম্পোনেন্ট একসাথে প্রদর্শন করার চেষ্টা করে, CardLayout একবারে শুধুমাত্র একটি কম্পোনেন্ট প্রদর্শন করে।
- CardLayout-এ, কার্ডগুলো সাধারণত একটি কন্টেইনারে রাখা হয় যেমন একটি JPanel। কম্পোনেন্টগুলো কার্ড কিউতে যোগ করা হয় সে ক্রম অনুযায়ী যেক্রমে সেগুলো যোগ করা হয়।
- CardLayout-এর গুরুত্বপূর্ণ মেথডগুলো হল first(), last(), next(), previous() and 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) দৃশ্যমান হবে।
আউটপুট
