كيفية استخدام WindowListener في نظام Swing؟

Nov 19, 2025|

مرحبًا يا من هناك! كمورد لنظام التأرجح، يسعدني أن أشارككم كيفية استخدام WindowListener في نظام التأرجح. Swing عبارة عن مجموعة أدوات Java GUI (واجهة المستخدم الرسومية) الرائعة، ويلعب WindowListener دورًا حاسمًا في التعامل مع الأحداث المتعلقة بالنوافذ.

أولاً، دعونا نفهم ما هو WindowListener. في عالم Java Swing، يعد WindowListener واجهة تسمح لك بالاستماع إلى الأحداث التي تحدث على النافذة. تتضمن هذه الأحداث النافذة التي يتم فتحها، أو إغلاقها، أو أيقوناتها، أو إلغاء أيقوناتها، أو تنشيطها، أو إلغاء تنشيطها.

تنفيذ WindowListener

لاستخدام WindowListener، لديك طريقتان. إحدى الطرق الشائعة هي إنشاء فئة تنفذ واجهة WindowListener. إليك مثال بسيط:

استيراد javax.swing.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class SwingWindowExample { public static void main(String[] args) { JFrameframe = new JFrame("مثال نافذة التأرجح"); frame.setSize(400, 300); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { @Override public void windowOpened(WindowEvent e) { System.out.println("تم فتح النافذة!"); } @Override public void windowClosing(WindowEvent e) { System.out.println("النافذة تغلق!"); } @Override public void windowClosed(WindowEvent e) { System.out.println("النافذة مغلقة!"); } @Override public void windowIconified(WindowEvent e) { System.out.println("تم تحديد النافذة!" } @Override public void windowDeiconified(WindowEvent e) { System.out.println("تم إلغاء أيقونات النافذة!") @Override public void windowActivated(WindowEvent e) { System.out.println("تم تنشيط النافذة!"); } @Override public void windowDeactivated(WindowEvent e) { System.out.println("تم إلغاء تنشيط النافذة!" } }); frame.setVisible(true); } }

في هذا الكود، نقوم بإنشاء JFrame بسيط. بدلاً من تنفيذ واجهة WindowListener الكاملة، نستخدم فئة WindowAdapter. WindowAdapter عبارة عن فئة مجردة توفر تطبيقات فارغة لجميع الأساليب في واجهة WindowListener. بهذه الطريقة، نحتاج فقط إلى تجاوز الأساليب التي نهتم بها.

لماذا نستخدم WindowListener؟

قد تتساءل: "لماذا أحتاج إلى استخدام WindowListener؟" حسنًا، هناك الكثير من التطبيقات العملية. على سبيل المثال، عندما تكون النافذة على وشك الإغلاق، قد ترغب في حفظ بيانات المستخدم أو إجراء بعض عمليات التنظيف. أو، عند تنشيط النافذة، يمكنك تحديث واجهة المستخدم لإظهار أحدث المعلومات.

لنفترض أنك تقوم بإنشاء تطبيق لإدخال البيانات. عندما يقوم المستخدم بإغلاق النافذة، يمكنك استخدامwindowClosingطريقة لمطالبة المستخدم بحفظ أي تغييرات غير محفوظة.

استيراد javax.swing.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class DataEntryApp { public static void main(String[] args) { JFrameframe = new JFrame("تطبيق إدخال البيانات"); frame.setSize(400, 300); frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { int Choice = JOptionPane.showConfirmDialog(frame, "هل تريد حفظ التغييرات؟", "حفظ التغييرات", JOptionPane.YES_NO_OPTION); if (choice == JOptionPane.YES_OPTION) { // رمز حفظ البيانات يذهب هنا System.out.println("تم حفظ البيانات!") }frame.dispose(); frame.setVisible(true); } }

عروض نظام التأرجح الخاص بنا

كمورد، لدينا مجموعة واسعة من مكونات نظام التأرجح. تحقق من لديناتجميع نظام التأرجح للحفارة. تم تصميم هذا التجميع لتوفير التشغيل السلس والفعال للحفارات. إنه مصنوع من مواد عالية الجودة لضمان المتانة والأداء طويل الأمد.

لدينا أيضاسوينغ رمح للحفارة. يعد عمود التأرجح مكونًا مهمًا في آلية التأرجح، وقد تم تصميم عمودنا للتعامل مع الأحمال الثقيلة وظروف الضغط العالي.

جزء مهم آخر هومحامل الدوران الدائري. تسمح هذه المحامل بالدوران السلس في نظام التأرجح، مما يقلل الاحتكاك والتآكل.

توصيل WindowListener بنظام التأرجح الخاص بنا

الآن، ربما تفكر، "كيف يتصل WindowListener بنظام التأرجح الخاص بنا؟" حسنًا، في نظام التأرجح الذي يتم التحكم فيه بواسطة البرنامج، يمكنك استخدام WindowListener لإدارة واجهة المستخدم التي تتحكم في آلية التأرجح. على سبيل المثال، عند فتح النافذة التي تتحكم في نظام التأرجح، يمكنك تهيئة النظام وبدء الاتصال بالجهاز. عندما تكون النافذة مغلقة، يمكنك إيقاف تشغيل النظام بأمان.

43

استيراد javax.swing.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class SwingSystemControl { public static void main(String[] args) { JFrameframe = new JFrame("التحكم في نظام التأرجح"); frame.setSize(400, 300); frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE); frame.addWindowListener(new WindowAdapter() { @Override public void windowOpened(WindowEvent e) { System.out.println("تهيئة نظام التأرجح..."); // رمز تهيئة نظام التأرجح يظهر هنا } @Override public void windowClosing(WindowEvent e) { System.out.println("إيقاف تشغيل نظام التأرجح..."); // رمز إيقاف تشغيل نظام التأرجح يذهب هناframe.dispose(); frame.setVisible(true); } }

خاتمة

يعد استخدام WindowListener في نظام Swing طريقة فعالة للتعامل مع الأحداث المتعلقة بالنافذة. سواء كنت تقوم بإنشاء تطبيق واجهة مستخدم رسومية بسيط أو نظام معقد للتحكم في آليات التأرجح، يمكن أن يساعدك WindowListener في إدارة تجربة المستخدم وضمان التشغيل السليم لنظامك.

إذا كنت مهتمًا بمكونات نظام التأرجح الخاص بنا أو لديك أي أسئلة حول استخدام WindowListener في مشاريعك، فلا تتردد في التواصل معنا. نحن هنا لمساعدتك في العثور على الحلول المناسبة لاحتياجاتك والتأكد من أن نظام التأرجح الخاص بك يعمل بأفضل حالاته.

مراجع

  • "جافا الفعالة" بقلم جوشوا بلوخ
  • "جافا: المرجع الكامل" بقلم هربرت شيلدت
إرسال التحقيق