كيفية تنفيذ برنامج Action Listener في Java



ستزودك هذه المقالة بمعرفة مفصلة وشاملة عن Action Listener في Java مع أمثلة لفهم أفضل.

عندما يقوم المستخدم بعمل معين يجب أن تكون في وضع يمكنها من التعامل معها بشكل فعال. يكون مستمعو الإجراءات في Java مفيدًا جدًا في مثل هذه المواقف. في هذه المقالة سوف نناقش النقاط التالية:

مقدمة إلى Action Listener

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





يصف أدناه بالصور كيفية كتابة مستمع الإجراءات:

Action-Listener-List



هنا ، الجزء الأساسي والمتكامل هو كائن يمكنه تنفيذ واجهة Action Listener. يجب تحديد هذا الكائن بواسطة البرنامج باعتباره مستمعًا للإجراء على الزر الذي لا يمثل سوى مصدر الحدث.

وبالتالي ، باستخدام طريقة addActionListener ، عندما ينقر المستخدم على الزر ، فإنه يطلق حدثًا. يستدعي هذا الأسلوب actionPerformed الخاص بمستمع الإجراء. يرجى ملاحظة أنها الطريقة الوحيدة في واجهة ActionListener. وسيطة واحدة للطريقة هي كائن ActionEvent ، الذي يوفر معلومات عن الحدث ومصدره

فئة الحدث العمل

طرق وصف
سلسلة getActionCommand ()

سلسلة إرجاع المرتبطة بهذا الإجراء. تدعم معظم الكائنات التي يمكنها إطلاق أحداث عملية طريقة تسمى setActionCommand ، والتي تسمح لك بتعيين هذه السلسلة.



معدِّلات int getModifiers ()

يقوم بإرجاع عدد صحيح ، والذي كان المستخدم يضغط عليه أثناء الحدث أثناء الإجراء. يتم استخدام بعض الثوابت المعرفة بالحدث مثل SHIFT_MASK و CTRL_MASK و META_MASK و ALT_MASK لتحديد المفاتيح التي يتم الضغط عليها. على سبيل المثال ، إذا اختار المستخدم عنصر قائمة ، فسيكون التعبير غير صفري

كائن getSource ()

(في java.util.EventObject)

إرجاع الكائن الذي أطلق الحدث.

تطبيق Action Listener في Java

package com.javapointers.javase import java.awt.BorderLayout import java.awt.event.ActionEvent import java.awt.event.ActionListener import javax.swing.JButton import javax.swing.JFrame import javax.swing.JTextArea public class implementsListener ActionListener {JButton button JFrame frame JTextArea textArea public ActionListenerTest () {button = new JButton ('Click Me') frame = new JFrame ('ActionListener Test') textArea = new JTextArea (5، 40) button.addActionListener (this) textArea. setLineWrap (true) frame.setLayout (new BorderLayout ()) frame.add (textArea، BorderLayout.NORTH) frame.add (button، BorderLayout.SOUTH) frame.pack () frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setVisible ( true)}Override public void actionPerformed (ActionEvent e) {textArea.setText (textArea.getText (). concat ('You have click the buttonn'))} public static void main (String args []) {ActionListenerTest test = new ActionListenerTest ()}}

في الكود أعلاه ، يجب تنفيذ مستمع الإجراءات في الفصل قبل أن تتمكن من الوصول إليه. لذا تأكد من إضافة الكلمة الرئيسية للأدوات والمستمع.

button.addActionListener (هذا)

هذا يعني أنه سيتم تضمين زر المكون في المكونات التي يتم تعقبها لحدث إجراء. من الضروري إضافة مكون إلى مستمع الإجراء لتتمكن من إضافة رموز عندما ينقر المستخدم على هذا المكون المحدد. ستفشل مراقبة المكونات التي لم تتم إضافتها باستخدام مستمع الإجراءات.

الآن دعونا نلقي نظرة على مثال بسيط آخر لـ Action Listener في Java وكيف يعمل.

المثال الثاني:

يلقي ضعف لجافا int

يوجد هنا 3 كائنات بسيطة لزر Java حيث تم تسميتها بالأحمر والأخضر والأزرق. اعتمادا على النقر فوق الزر يتغير لون شاشة الخلفية.

توضح المخططات أدناه الإخراج الخاص بالشفرة الموضوعة في نهاية هذا المستند. تم عرض حالة واحدة فقط من تحول الشاشة إلى اللون الأزرق. يمكن عرض ألوان أخرى مثل الأحمر والأخضر من خلال تنفيذ هذا الرمز.

كائن الزر 'rb' مرتبط بـ ActionListener. تمثل المعلمة 'this' برنامج ActionListener. في حالة عدم إجراء الربط ، سيعرض البرنامج 3 أزرار ولكن بدون معالجة الحدث.

تقوم طريقة getActionCommand () الخاصة بفئة ActionEvent بإعادة تسمية الزر المقابل الذي نقر عليه المستخدم كسلسلة. شارع.

import java.awt. * import java.awt.event. * public class ButtonDemo يوسع إطار تنفيذ ActionListener {Button rb، gb، bb // المتغيرات الثلاثة لمرجع الزر public ButtonDemo () // المُنشئ لتعريف خصائص الزر { FlowLayout fl = new FlowLayout () // ضبط التخطيط على frame setLayout (fl) rb = زر جديد ('أحمر') // تحويل المتغيرات إلى كائنات gb = زر جديد ('أخضر') bb = زر جديد ('أزرق') rb.addActionListener (this) // ربط أزرار Java مع ActionListener gb.addActionListener (this) bb.addActionListener (this) add (rb) // إضافة كل زر Java إلى الإطار add (gb) add (bb) setTitle ('Button in Action ') setSize (300، 350) // أبعاد الإطار ، (العرض × الارتفاع) setVisible (true) // تحديد الإطار المرئي على الشاشة ، الإعداد الافتراضي هو setVisible (false)} // تجاوز الطريقة المجردة فقط لواجهة ActionListener العامة الفراغ actionPerformed (ActionEvent e) {String str = e.getActionCommand () // لتحديد الزر الذي تم النقر فوقه System.out.println ('لقد نقرت' + str + 'زر') // if (str.equals ('Red')) {setBackground (Color.red)} else if (str.equals ('Green')) {setBackground (Color.green)} else if (str.equals ('Blue') ) {setBackground (Color.blue)}} public static void main (String args []) {new ButtonDemo () // anonymous object of ButtonDemo to call the constructor}}

بهذا ، وصلنا إلى نهاية مقالة Action Listener في Java. أتمنى أن تكون قد فهمت برنامج Action Listener في Java.

تفحص ال من Edureka ، وهي شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرين في جميع أنحاء العالم. تم تصميم دورة تدريب وشهادة Java J2EE و SOA من Edureka للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطوري Java. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في مدونة 'Action Listener in Java' وسنعاود الاتصال بك في أقرب وقت ممكن.