Swingالإنترفيس WindowListener
يستخدم هذا الإنترفيس للتنبه لأي شيء يحدث للنافذة مثل عند تصغيرها, تكبيرها, فتحها, خروجها, ناشطة, غير ناشطة.
الإنترفيس WindowListener
يحتوي على خمس دوال يجب أن تفعل لها Override عند إنشاء كائن منه:
- الدالة
windowOpened(WindowEvent e)
: يتم إستدعاءها بعد أن يتم فتح النافذة. - الدالة
windowClosing(WindowEvent e)
: يتم إستدعاءها أثناء إغلاق النافذة - الدالة
windowClosed(WindowEvent)
: يتم إستدعاءها بعد أن يتم إغلاق النافذة. - الدالة
windowIconified(WindowEvent)
: يتم إستدعاءها بعد أن يتم إخفاء النافذة بالنقر على زر التصغير الموجود أعلاها. - الدالة
windowDeiconified(WindowEvent e)
: يتم إستدعاءها بعد أن يتم إظهارها من جديد. - الدالة
windowActivated(WindowEvent)
: يتم إستدعاءها في حال كانت النافذة ناشطة, أي في حال لم يكن هناك أي نافذة أخرى أو تطبيق مفتوح فوقها. - الدالة
windowDeactivated(WindowEvent e)
: يتم إستدعاءها في حال كانت النافذة غير ناشطة, أي في حال كان هناك نافذة أخرى أو تطبيق مفتوح فوقها.
مثال
import javax.swing.JFrame; import javax.swing.JOptionPane; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; public class Main { public static void main(String[] args) { // أي قمنا بإنشاء نافذة مع وضع عنوان لها JFrame هنا أنشأنا كائن من الكلاس JFrame frame = new JFrame("WindowListener Demo"); // هنا قلنا أنه كلما تفاعل المستخدم مع النافذة سيتم إظهار الحدث الذي فعله كرسالة frame.addWindowListener(new WindowListener() { public void windowOpened(WindowEvent e) { JOptionPane.showMessageDialog(frame, "Event: Window Opened"); } public void windowClosing(WindowEvent e) { JOptionPane.showMessageDialog(frame, "Event: Window Closing"); } public void windowClosed(WindowEvent e) { } public void windowIconified(WindowEvent e) { JOptionPane.showMessageDialog(null, "Event: Window Iconified"); } public void windowDeiconified(WindowEvent e) { JOptionPane.showMessageDialog(null, "Event: Window Deiconified"); } public void windowActivated(WindowEvent e) { } public void windowDeactivated(WindowEvent e) { } }); frame.setSize(300, 300); // هنا قمنا بتحديد حجم النافذة. عرضها 300 و طولها 300 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // هنا جعلنا زر الخروج من النافذة يغلق البرنامج frame.setVisible(true); // هنا جعلنا النافذة مرئية } }
ستظهر لك الرسالة التالية فوق النافذة عند التشغيل.
ستظهر لك الرسالة التالية فوق النافذة قبل أن يتم إغلاق النافذة مباشرةً.