» נושאי לימוד
» נושאי לימוד
יום חמישי 1 במאי 2025
תכנית לדוגמה ראשונה
דף ראשי  מתקדמים  Event Handling in JDK 1.1, Using Abbreviated Inner Classes  תכנית לדוגמה ראשונה גרסה להדפסה

תכנית לדוגמה ראשונה

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

זה נבדל משמעותית משיעורים קודמים על מודל אירוע האצלה Delegation Event Mode)l) בה המחלקות שהיו נחוצות  להבזקת אובייקטי-מאזין היו מחלקות של רמה עליונה (תת-מחלקות ישירות של אובייקט המחלקה או תת-מחלקות של מחלקות מתאם כמוMouseAdapter.

בתכנית זו, המחלקות הנחוצות להבזקת אובייקטי מאזין וכן אובייקטים כלשהם אחרים   מונחים בתוך מחלקות אחרות.

 

דיון בתכנית לדוגמה  ראשונה

יכולת המחלקה הפנימית לא קיימת ב1.0 JDK לפיכך, תכנית זו מעוצבת להיות מהודרת ומורצת תחת 1.1JDK. התוכנית משלבת שימוש במחלקות פנימיות עם טיפול באירועים תחת מודל נציגות הטיפול באירועים של1.1  JDK.   מחלקת הבקרה מכונה Event23 . מחלקה פנימית המכונה GUI מוגדרת בתוך המחלקה המכונה Event23   ואובייקט של המחלקה הזו מובזק בתוך המתודה העיקרית main() .

בנוסף, שתי מתודות "עיבוד נתונים" המכונות sing() ו whistle() (שיר ושרק) מוגדרות בתוך מחלקת הבקרה. הם מוגדרים בכזאת דרך על מנת להיות מופרד מפעילות טיפול באירוע אלא שהן נקראות ע"י מתודות מטפל אירוע.

שלוש מחלקות פנימיות נוספות מוגדרות בתוך המחלקה הפנימית המכונה GUI . הן מכונות SingActionListener WhistleActionListener ו Terminator. כל שלושת אלה הן מחלקות Listener . השתיים הראשונות מיישמות את ממשק ActionListener בעוד השלישית מותחת את המתאם WindowListener .

השתיים הראשונות מעמיסות את מתודת הactionPerformed() של ממשק ActionListener בעוד השלישית מעמיסה את מתודת windowClosing() של ממשק WindowListener.

המחלקה המכונה GUI מותחת מסגרת. שני אובייקטי כפתור המתויגים sing  (שיר) ו whistle  (שרוק)  מובזקים בבנאי  GUI . הם מיוחסים ע"י משתנים המכונים singButton ו    whistleButton  בהתאמה. שני הכפתורים מוספים לאובייקט המסגרת.

על אף שתכנית מסגרת זו לא עושה שימוש במחלקות אנונימיות, היא כן עושה שימוש באובייקטים אנונימיים. אובייקטי מאזין אנונימיים של המחלקות WhistleActionListner        ן SingActionListner מובזקים ונרשמים לטיפול באירועים על שני אובייקטי הכפתור שהנם  בעלי שמות דומים. אובייקט מאזין אנונימי נוסף של המחלקה Terminator (מחסלת) נרשם לטיפול באירוע על אובייקט המסגרת של מחלקת GUI.

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

"I am singing , Tra La la" (אני שר , טרה לה לה).

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

"I am whistling, Tweet Tweet Tweet" – (אני שורק טוויט, טוויט,טוויט).

כאשר המשתמש מקיש על תיבת "סגור" שעל המסגרת, מטפל האירוע שנרשם להאזין לאירועי windowClosing() על המסגרת מסיים את התכנית.

תוצאות אלו הופקו תוך שימוש ב1.1 JDK בהרצה תחת חלונות 95.

 

 18-10-03 / 00:46  נוצר ע"י רונית רייכמן  בתאריך 
 Event Handling in JDK 1.1, Using Abbreviated Inner Classes - הקודםהבא - רישום תכנית של התכנית לדוגמה הראשונה 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 6