Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux 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);
 
    }
 
}

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

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

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