Swingطريقة تقليب محتوى الـ JFrame عند إستخدام الـ CardLayout
المثال التالي يعلمك طريقة تقليب محتوى الـ Frame.
في كل مرة يتم فيها النقر على زر, سيتم عرض الزر التالي الذي أضيف بعده.
مثال
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame("CardLayout demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
frame.setSize(300, 300); // هنا قمنا بتحديد حجم النافذة. عرضها 300 و طولها 300
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
// لترتيب الأشياء التي نضيفها بداخلها CardLayout هنا جعلنا النافذة تستخدم الـ
CardLayout card = new CardLayout(20, 20);
Container container = frame.getContentPane();
container.setLayout(card);
// هنا قمنا بتعريف 3 أزرار
JButton b1 = new JButton("1");
JButton b2 = new JButton("2");
JButton b3 = new JButton("3");
// و الذي يمثل ما يحدث عن النقر على أي زر ActionListener هنا أنشأنا كائن من الكلاس
ActionListener al = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// هنا قلنا أنه سيعرض الزر التالي
card.next(container);
}
};
// بجميع الأزرار al هنا ربطنا الكائن
b1.addActionListener(al);
b2.addActionListener(al);
b3.addActionListener(al);
// هنا قمنا بإضافة الأزرار في النافذة
frame.add(b1);
frame.add(b2);
frame.add(b3);
// هنا جعلنا النافذة مرئية
frame.setVisible(true);
}
}
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.CardLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Main {
public static void main(String[] args) {
JFrame frame = new JFrame("CardLayout demo"); // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس
frame.setSize(300, 300); // هنا قمنا بتحديد حجم النافذة. عرضها 300 و طولها 300
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج
// لترتيب الأشياء التي نضيفها بداخلها CardLayout هنا جعلنا النافذة تستخدم الـ
CardLayout card = new CardLayout(20, 20);
Container container = frame.getContentPane();
container.setLayout(card);
// هنا قمنا بتعريف 3 أزرار
JButton b1 = new JButton("1");
JButton b2 = new JButton("2");
JButton b3 = new JButton("3");
// و الذي يمثل ما يحدث عن النقر على أي زر ActionListener هنا أنشأنا كائن من الكلاس
ActionListener al = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// هنا قلنا أنه سيعرض الزر التالي
card.next(container);
}
};
// بجميع الأزرار al هنا ربطنا الكائن
b1.addActionListener(al);
b2.addActionListener(al);
b3.addActionListener(al);
// هنا قمنا بإضافة الأزرار في النافذة
frame.add(b1);
frame.add(b2);
frame.add(b3);
// هنا جعلنا النافذة مرئية
frame.setVisible(true);
}
}
ستظهر لك النافذة التالية عند التشغيل.
كل زر تقوم بالنقر عليه, سيعرض مكانه الزر الذي يليه.