קטעי קוד מעניינים
נתחיל עם השורה הראשונה של ההגדרה של המחלקה המבקרת אשר מראה בפשטות כי מחלקה זו מרחיבה מסגרת ומיישמת את ItemListener. משום שזה מיישם את ItemListener, אובייקט מהמחלקה המבקרת הוא אובייקט המאזין .
public class Event35 extends Frame implements ItemListener{ |
אני אדלג על המתודה העיקרית (אשר לא עושה דבר פרט ליצור מופע של המחלקה המבקרת) ואעבור הלאה לבנאי.
הקטע הבא מראה את הייצור של סט של שלושה כפתורי רדיו בקבוצה (שיעור אחר דן בכפתורי רדיו בפירוט), מאחר והמטרה של שיעור זה היא להבין אירועי פריט, ולא כפתור רדיו, לא אדון בקוד זה כאן.
Event35(){//constructor |
הקטע הבא משתמש במתודת רישום טיפוסי לרשום אובייקט this (שהנו אובייקט המאזין משום שהנו בן מחלקה המיישמת את ממשק ItemListener) על כל אחד מכפתורי הרדיו:
//Register item listener object on each radio button |
הקטע הבא יוצר אובייקט תיבת-בדיקה רגיל ורושם גם עליו את מאזין הפריט:
Checkbox theCheckbox = new Checkbox("Check Box"); |
אחרי כן, אני מוסיף את כפתורי הרדיו ואת תיבת הבדיקה למסגרת, מכוונן את הפרמטרים של המסגרת וגורם לכל הדבר להפוך נראה לעין. זהו קוד מאוד מוכר, ולכן לא הדגשתי אותו כאן.
כמו כן ייצרתי גם WindowListener אנונימי בכדי לסיים את התכנית כאשר המשתמש מקיש על כפתור הclose שעל המסגרת. לא הדגשתי זאת כאן גם כן בגלל שאתם צריכים כבר להיות בקיאים בכך. אתם יכולים לראות את כל הקוד הזה ברישום התוכנית אשר מופיע בהמשך.
הקטע הבא מגדיר את מתודת itemStateChanged() של ממשק המאזין. מתודה זו נקראת בכל פעם שאירוע פריט מתרחש על אחד מאובייקטי המקור אשר עליהם המאזין רשום.
כפי שאתה יכול לראות, הקוד במתודה הזו שואב מידע מהאובייקט ItemEvent (אירוע פריט) ומציג מידע זה כפי שנראה קודם לכן.
שים לב כי זו מתודה של המחלקה המבקרת, הגורמת לאובייקט של המחלקה המבקרת להיות אף הוא המאזין.
//Define the method of the ItemListener interface |
הקוד בתכנית אשר לא הודגש במקטעים שלמעלה יכול להיראות ברישום השלם של התכנית אשר מובא ביחידה הבאה.