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