اذا لم تجد ما تبحث عنه يمكنك استخدام كلمات أكثر دقة.
التعامل مع الحدث أو معالجة الأحداث في الجافا (Event Handling) هو من الأساسيات المهمة لبرامج مع واجهة المستخدم الرسومية. لتنفيذ واجهات المستخدم، يجب عليك السيطرة على الطريقة التي يعالج جافا فيها الأحداث. هناسترى كيفية التقاط الأحداث من مكونات واجهة المستخدم وأجهزة الإدخال. علينا أيضا أن تظهر لك كيفية العمل مع الإجراءات، واتباع نهج أكثر تنظيما لمعالجة أحداث العمل.
أي بيئة تشغيل تدعم "GUIs" تقوم باستمرار بمراقبة الأحداث مثل النقر على لوحة المفاتيح أو نقرات الماوس .تقومم تقارير بيئة التشغيل تسجيل أو إرسال الأحداث إلى البرامج التي قامت بتشغيلها. ثم يقرر كل برنامج ما، إذا كان أي شيء يفعله ردا على هذه الأحداث.
في حدود الأحداث التي يعرف عنها"AWT" ، يمكنك التحكم تماما كيف تنتقل الأحداث من مصادر الحدث "event sources" (مثل الأزرار أو التمرير) إلى المستمعين للحدث"event listeners". يمكنك تعيين أي كائن"object " ليكون حدثا المستمع.
مصادر الحدث event sources" لها الأساليب التي تسمح لك لتسجيل المستمعين الحدث "event listeners" معهم. عندما يحدث الحدث في المصدر، المصدر يرسل إشعار من هذا الحدث لكافة الكائنات المستمع "listener objects" التي تم تسجيلها لهذا الحدث.
كما هو متوقع في "object-oriented language" مثل جافا، يتم تغليف المعلومات حول الحدث في كائن الحدث"event object". في جافا، كافة كائنات الحدث هي "derive " من"class " هو (java.util.EventObject). بالطبع، هناك أقسام فرعية "subclasses " لكل نوع الحدث، مثل (ActionEvent) و(WindowEvent).
يمكن لمصادر الحدث "event sources" مختلفة تنتج أنواع مختلفة من الأحداث. على سبيل المثال، يمكن للزر إرسال ( ActionEvent object)، في حين نافذة يمكن إرسال ( WindowEvent object).
وخلاصة القول، وهنا لمحة عامة عن كيفية التعامل مع الحدث في ( AWT ) يعمل:
هذه الصورة تبين العلاقة بين مصادر الحدث والمستمعين "Relationship between event sources and listeners":-
وفيما يلي مثال (specifying a listener) :
; .... = ActionListener listener ;("JButton button = new JButton ("Ok ;(button.addActionListener(listener
الآن يتم إعلام الكائن المستمع "listener object" متى حدث عمل الحدث"action event" في زر.و لأزرار كما قد تتوقع عمل الحدث هو انقر فوق زر.
لتنفيذ واجهة (ActionListener)،(listener class) يجب أن يكون لديها (method ) تسمى (actionPerformed) الذي يتلقى كائن ( ActionEvent object ) ك(parameter).
متى قام المستخدم بالنقر فوق الزر، (JButton object ) بإنشاء ( ActionEvent object ) ويقوم باستدعاء listener.actionPerformed (الحدث)، ويمر هذا الكائن الحدث "event object". مصدر حدث " event source" مثل زر يمكن أن يكون لديه أكثر من " listeners". في هذه الحالة الزر يقوم باستدعاء (actionPerformed method) لجميع listener كلما قام المستخدم بالنقر فوق الزر.
هذه صوره تظهر التفاعل بين مصدر الحدث "event source"، الحدث المستمع"event listener"، وكائن الحدث"event object".