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() { 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); } }
ستظهر لك النافذة التالية عند التشغيل.
كل زر تقوم بالنقر عليه, سيعرض مكانه الزر الذي يليه.