آن حدث في Java هو كائن يتم إنشاؤه عندما يتغير شيء ما داخل واجهة مستخدم رسومية. إذا نقر أحد المستخدمين على زر ، أو نقر فوق مربع تحرير وسرد ، أو اكتب أحرفًا في حقل نص ، وما إلى ذلك ، فسيتم تشغيل حدث ما وإنشاء كائن الحدث ذي الصلة. هذا السلوك جزء من آلية معالجة الأحداث في Java ويتم تضمينه في مكتبة Swing GUI.
على سبيل المثال ، دعنا نقول لدينا JButton. إذا نقر المستخدم على جي بوتون ، يتم تشغيل حدث النقر على زر ، وسيتم إنشاء الحدث ، وسيتم إرساله إلى ذات الصلة مستمع الحدث (في هذه الحالة ، فإن أكشن). سوف يكون لدى المستمع المعني تعليمات برمجية تحدد الإجراء الذي يجب اتخاذه عند وقوع الحدث.
لاحظ أن مصدر الحدث يجب يتم إقرانها مع مستمع حدث ، أو لن يؤدي تشغيله إلى أي إجراء.
كيف تعمل الأحداث
يتكون التعامل مع الأحداث في جافا من عنصرين رئيسيين:
- مصدر الحدث، وهو كائن يتم إنشاؤه عند حدوث حدث. يوفر Java عدة أنواع من مصادر الأحداث هذه ، والتي تمت مناقشتها في القسم أنواع الأحداث أدناه.
- المستمع الحدث، الكائن الذي "يستمع" للأحداث ويعالجها عند حدوثها.
هناك عدة أنواع من الأحداث والمستمعين في Java: يرتبط كل نوع من الأحداث بمستمع مطابق. لهذه المناقشة ، دعنا نفكر في نوع شائع من الأحداث ،
حدث العمل يمثلها فئة جافا اكشن ايفنت، والتي يتم تشغيلها عندما ينقر المستخدم فوق زر أو عنصر قائمة.في عمل المستخدم ، اكشن ايفنت يتم إنشاء كائن المطابق للعمل ذات الصلة. يحتوي هذا الكائن على كل من معلومات مصدر الحدث والإجراء المحدد الذي اتخذه المستخدم. ثم يتم تمرير كائن الحدث هذا إلى المقابل أكشن طريقة الكائن:
إجراء باطلأداء (ActionEvent e)
يتم تنفيذ هذه الطريقة وإرجاع استجابة واجهة المستخدم الرسومية المناسبة ، والتي قد تكون لفتح أو إغلاق مربع حوار ، تنزيل ملف أو توفير توقيع رقمي أو أي إجراءات أخرى لا تعد ولا تحصى متاحة للمستخدمين في واجهه المستخدم.
أنواع الأحداث
فيما يلي بعض أكثر أنواع الأحداث شيوعًا في Java:
- اكشن ايفنت: يمثل النقر فوق عنصر رسومي ، مثل زر أو عنصر في القائمة. مستمع ذو صلة: ActionListener.
- كونتينت ايفنت: يمثل حدثًا يحدث في حاوية واجهة المستخدم الرسومية نفسها ، على سبيل المثال ، إذا قام المستخدم بإضافة كائن أو إزالته من الواجهة. مستمع ذو صلة: حاوية حاوية.
- الحدث الرئيسي: يمثل حدثًا يضغط فيه المستخدم على مفتاح أو يكتبه أو يحرره. مستمع ذو صلة: KeyListener.
- WindowEvent: يمثل حدثًا متعلقًا بنافذة ، على سبيل المثال ، عندما يتم إغلاق النافذة أو تنشيطها أو تعطيلها. مستمع ذو صلة: WindowListener.
- MouseEvent: يمثل أي حدث متعلق بالماوس ، مثل عند النقر على الماوس أو الضغط عليه. مستمع ذو صلة: MouseListener.
لاحظ أن العديد من المستمعين ومصادر الأحداث يمكن أن تتفاعل مع بعضها البعض. على سبيل المثال ، يمكن تسجيل أحداث متعددة بواسطة مستمع واحد ، إذا كانت من نفس النوع. وهذا يعني أنه بالنسبة لمجموعة مماثلة من المكونات التي تؤدي نفس نوع الإجراء ، يمكن لمستمع حدث واحد التعامل مع جميع الأحداث. وبالمثل ، يمكن ربط حدث واحد بمستمعين متعددين ، إذا كان ذلك يناسب تصميم البرنامج (على الرغم من أن هذا أقل شيوعًا).