כיצד ליישם מאזין פעולה ב- Java



מאמר זה יספק לך ידע מפורט ומקיף על מאזין פעולה ב- Java עם דוגמאות להבנה טובה יותר.

כאשר משתמש מבצע פעולה מסוימת חייב להיות במצב לטפל בזה ביעילות. מאזינים לפעולה בג'אווה נוחים מאוד במצבים כאלה. במאמר זה נדון בנקודות הבאות:

מבוא למאזין פעולה

כמתכנת, חובתך להגדיר מה מאזין לפעולה יכול לעשות למען פעולת המשתמש. לדוגמא, נבחן תרחיש פשוט שבו המשתמש בוחר פריט מסוים משורת התפריטים או פוגע במקש Enter בשדה טקסט כדי לעבור לשורה חדשה. לאחר סיום פונקציות משתמש כאלה, נשלחת הודעת 'פעולה שבוצעה' לכל מאזינים לפעולה המתאימים המוגדרים ברכיב הרלוונטי.





ההבדל בין זריקה לזריקות

להלן מתואר באופן ציורי כיצד לכתוב מאזין לפעולה:

Action-Listener-List



כאן, החלק המכריע והאינטגרלי הוא אובייקט שיכול ליישם את ממשק מאזין הפעולות. אובייקט זה חייב להיות מזוהה על ידי התוכנית כמאזין פעולה בכפתור שאינו אלא מקור האירוע.

לפיכך, שימוש בשיטת addActionListener, כאשר המשתמש לוחץ על הכפתור הוא יורה על אירוע פעולה. זה קורא לשיטת הפעולה המבוצעת של מאזין הפעולה. שים לב שזו השיטה היחידה בממשק ActionListener. טיעון יחיד לשיטה הוא אובייקט ActionEvent, המספק מידע על האירוע ומקורו

כיתת אירועי הפעולה

שיטות תיאור
מחרוזת getActionCommand ()

מחזיר מחרוזת המשויכת לפעולה זו. רוב האובייקטים שיכולים להפעיל אירועי פעולה תומכים בשיטה שנקראת setActionCommand, המאפשרת לך להגדיר מחרוזת זו.



int getModifiers ()

זה מחזיר מספר שלם שהמשתמש לחץ עליו בעת אירוע הפעולה. משתמשים בקביעת קבועים מסוימים המוגדרים על ידי ActionEvent כמו SHIFT_MASK, CTRL_MASK, META_MASK ו- ALT_MASK. למשל, אם משתמש בוחר פריט בתפריט אז הביטוי אינו אפס

אובייקט getSource ()

(ב- java.util.EventObject)

מחזיר את האובייקט שירה את האירוע.

יישום מאזין פעולה ב- Java

חבילה com.javapointers.javase יבוא java.awt.BorderLayout ייבוא ​​java.awt.event.ActionEvent יבוא java.awt.event.ActionListener יבוא javax.swing.JButton ייבוא ​​javax.swing.JFrame ייבוא ​​יישומי javax.swing.JTextArea מחלקה ציבורית ActionListenerTest ActionListener {כפתור JButton מסגרת JFrame JTextArea textArea ציבורי ActionListenerTest () {button = new JButton ('Click Me') frame = new JFrame ('ActionListener Test') textArea = new JTextArea (5, 40) button.addActionListener (this) textArea. setLineWrap (true) frame.setLayout (BorderLayout חדש ()) frame.add (textArea, BorderLayout.NORTH) frame.add (כפתור, BorderLayout.SOUTH) frame.pack () frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setVisible ( true)} @Override public void actionPerformed (ActionEvent e) {textArea.setText (textArea.getText (). concat ('לחצת על התחתון'))} public public static ריק (String args []) {TestListenerTest test = new ActionListenerTest ()}}

בקוד שלעיל, מאזין פעולה נדרש להיות מיושם בכיתה לפני שתוכל לגשת אליו. אז הקפד להוסיף את מילת המפתח מיישמת ואת המאזין.

button.addActionListener (זה)

המשמעות היא שלחצן הרכיב ייכלל ברכיבים שעוקבים אחר אירוע פעולה. חובה להוסיף רכיב למאזין פעולה על מנת שתוכל להוסיף קודים כאשר המשתמש לוחץ על אותו רכיב מסוים. רכיבים שלא יתווספו עם מאזין פעולה לא יצליחו להיות במעקב.

בואו נסתכל על דוגמה פשוטה נוספת למאזין הפעולות בג'אווה ואיך זה עובד.

דוגמה 2:

כאן ישנם 3 אובייקטים פשוטים של כפתורי Java שבהם הם נקראים אדום, ירוק וכחול. בהתאם ללחצן שנלחץ, צבע צבע הרקע משתנה.

הדיאגרמות שלהלן מתארות את הפלט המתאים של הקוד שמוצב בסוף מסמך זה. רק מופע אחד של המסך שהפך לכחול הוצג. ניתן להציג צבעים אחרים כמו אדום וירוק על ידי יישום קוד זה.

כיצד להפוך כפול לאינטל

אובייקט הכפתור 'rb' מקושר ל- ActionListener. פרמטר 'זה' מייצג את ActionListener. אם הקישור לא נעשה, התוכנית תציג 3 כפתורים אך ללא טיפול באירועים.

שיטת getActionCommand () של מחלקת ActionEvent זורקת את התווית של הכפתור המתאים שלוחץ על ידי המשתמש כמחרוזת. str.

ייבא java.awt. * ייבא java.awt.event. * מחלקה ציבורית ButtonDemo מרחיב מסגרת מיישמת ActionListener {כפתור rb, gb, bb // שלושת המשתנים של התייחסות כפתור public ButtonDemo () // בונה להגדרת המאפיינים לכפתור { FlowLayout fl = new FlowLayout () // הגדר פריסה להגדרת מסגרת Layout (fl) rb = כפתור חדש ('אדום') // המרת משתנים לאובייקטים gb = כפתור חדש ('ירוק') bb = כפתור חדש ('כחול') rb.addActionListener (זה) // קישור כפתורי Java עם ActionListener gb.addActionListener (זה) bb.addActionListener (זה) הוסף (rb) // הוסף כל כפתור Java למסגרת הוסף (gb) הוסף (bb) setTitle ('כפתור בפעולה ') setSize (300, 350) // מידות מסגרת, (רוחב x גובה) setVisible (נכון) // הגדרת מסגרת גלויה על הצג, ברירת המחדל היא setVisible (false)} // לעקוף רק שיטה מופשטת של ממשק ActionListener ריק ריק actionPerformed (ActionEvent e) {String str = e.getActionCommand () // לזיהוי הכפתור שנלחץ על System.out.println ('לחצתם' + str + 'כפתור') // אם (str.equals ('אדום')) {setBackground (Color.red)} אחר אם (str.equals ('ירוק')) {setBackground (Color.green)} אחר אם (str.equals ('כחול') ) {setBackground (Color.blue)}} ראשי סטטי ציבורי ריק (String args []) {חדש ButtonDemo () // אובייקט אנונימי של ButtonDemo להתקשר לבנאי}}

עם זאת, אנו מגיעים לסוף מאמר האזנה לפעולה ב- Java. אני מקווה שהבנת את Action Listener בג'אווה.

בדוק את מאת אדוריקה, חברת למידה מקוונת מהימנה עם רשת של יותר מ -250,000 לומדים מרוצים הפרוסים ברחבי העולם. קורס ההכשרה וההסמכה של Java J2EE ו- SOA של אדוריקה מיועד לסטודנטים ואנשי מקצוע שרוצים להיות מפתח Java. הקורס נועד לתת לך יתרון לתכנות ג'אווה ולהכשיר אותך למושגי ג'אווה מרכזיים ומתקדמים יחד עם מסגרות Java שונות כמו Hibernate & Spring.

יש לך שאלה עבורנו? אנא הזכיר זאת בקטע ההערות בבלוג 'מאזין פעולה בג'אווה' ונחזור אליך בהקדם האפשרי.