Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

Swingطريقة تقليب محتوى الـ JFrame عند إستخدام الـ CardLayout

المثال التالي يعلمك طريقة تقليب محتوى الـ Frame.
في كل مرة يتم فيها النقر على زر, سيتم عرض الزر التالي الذي أضيف بعده.


مثال

Main.java
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); } }

ستظهر لك النافذة التالية عند التشغيل.

كل زر تقوم بالنقر عليه, سيعرض مكانه الزر الذي يليه.

طريقة تقليب محتوى ال JFrame عند إستخدام ال CardLayout في جافا

الدورات

أدوات مساعدة

أقسام الموقع

دورات
مقالات كتب مشاريع أسئلة