» נושאי לימוד
» נושאי לימוד
יום שני 29 באפריל 2024
נושא עיקרי
דף ראשי  מתקדמים  Program-Generated Events and the AWTEventMulticaster Class  נושא עיקרי גרסה להדפסה

נושא עיקרי

הנושא העיקרי של שיעור זה הוא השימוש במחלקת AWTEventMulticaster של  Delegation Event Model. מחלקה זו מנוצלת לתחזק רשימה של אובייקטי מאזין הנרשמים להיות מיודעים בכל פעם שאירוע מטיפוס מסוים מתרחש על אובייקט מסוים ולגרום לאובייקטי מאזין אלה להיות מיודעים. בשיעורים קודמים, השימוש במחלקת AWTEventMulticaster התרחש "תחת הכיסויים".  בשיעור זה נספק חשיפה מסוימת לגבי כיצד עושה מחלקה זו מה שהיא עושה.

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

תחילה נעיף מבט בתכנית לדוגמה של עצמות-חשופות הממחישה את המרכיבים ההכרחיים של אירועים המחוללים ע"י תכנית.

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

 

מרכיבים חיוניים של אירועים המחוללים ע"י תכנית

 

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

המחלקה חייבת להיות תת-מחלקה של מחלקת הרכיב וחייבת לכלול את שלושת החברים הבאים (לפחות):

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

שנית מתודה ליצירת הרשימה המוזכרת דלעיל. בתכנית העצמות-החשופות המתודה מכונה makeActionListenerList()  רק בכדי להמחיש שהשם אינו חשוב טכנית. אולם, לשם עקביות עם תיעוד של Delegation Event Model (וסיבות טובות אחרות גם כן) זה צריך להיות מכונה addActionListener(). הרשימה צריכה להיות בנויה בתוך הגוף של המתודה המשתמשת בקריאה למתודה AWTEventMulticaster אשר מחזירה התייחסות לרשימה. אנו נדון בסיבות לנהוג כך מאוחר יותר.

שלישית מתודה אשר מפעילה את מתודת הפעולה המתאימה של מחלקת המאזין על הרשימה של אובייקטי Listener רשומים. בתכניות לדוגמה  בשיעור זה , אובייקטי המאזין הם מסוג ActionListener כך שמתודת הפעולה המתאימה היא actionPerformed() . עבור סוגים אחרים של אובייקטי מאזין מתודת הפעולה המתאימה תהיה מתודה שונה . בתכניות אלו המתודה המפעילה את מתודת הפעולה של אובייקט המאזין מכונה generateActionEvent() . בתכנית עצמות-חשופות יש רק אובייקט מאזין אחד ברשימה. בתכנית השנייה, ישנו ריבוי אובייקטי מאזין ברשימה.

 

 18-10-03 / 01:13  נוצר ע"י רונית רייכמן  בתאריך 
 Program-Generated Events and the AWTEventMulticaster Class - הקודםהבא - תכנית לדוגמה עצמות-חשופות 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 5