תוכנית לדוגמא
תוכנית זו עוצבה לקומפילציה וריצה תחת 1.1 JDK.
זו תוכנית פשוטה המדגימה את היכולת ליצור, ללכוד ולעבד אירועים מסוג טיפוסי חדש.
התוכנית מדגימה גם program-generated events , יכולת שהודגמה בתוכנית לדוגמא קודמת, בשיעור קודם. עליך לוודא שאתה מבין את החומר לפני היציאה משיעור זה.
אובייקט מחלקה לא ויזואלי (הנקרא NonVisual) מוגדר. אובייקטים ממחלקה זו יכולים לייצר אירועים מהסוג החדש.
הרכיבים החיוניים ליצירת, לכידת ועיבוד אירועים מהסוג החדש נרשמו בחלק קודם יותר של שיעור זה.
בתוכנית זו, שני אובייקטים של המחלקה NonVisual נוצרים ומחלקת CustomEventListenerClass מוגדרת. המחלקה CustomEventListenerClass מיישמת את המנשק CustomEventListener ומגדירה מתודה לעיבוד אובייקטי CustomEvent שנקראת customEventTrapped() .
אובייקטים של המחלקה CustomEventListenerClass שייכים לשני האובייקטים ה NonVisual המוזרים לעיל. לכן תוכנית זו מדגימה גם את היכולת ליצור ולרשום אובייקטי Listner ממחלקת Listner אחת באובייקטי מקור מרובים של event generating.
האובייקט ה NonVisual מכיל מתודה לדוגמא הנקראת generateCustomEvent() . מתודה זו מעוצבת לשגר אירוע מהסוג החדש לאובייקט Listner הרשום באובייקט המקור ע"י פנייה למתודה customEventTrapped() של אובייקט ה Listner.
בתוכנית זו פונים אל המתודה generateCustomEvent() שני אובייקטי NonVisual הגורמים לאירוע מהסוג החדש להתרחש, להלכד ולהיות מעובד ע"י האובייקטים מהמחלקה CustomEventListenerClass הרשומים.
עיבוד האירוע במקרה זה הוא די פשוט. זיהוי ומידע ראשוני נלקח מאובייקטי CustomEvent המועברים כפרמטר למתודה customEventTrapped(). המידע מוצג בהתקן הפלט הסטנדרטי.
הפלט מהתוכנית בהרצה ספציפית אחת היה:
Copyright 1997, R.G.Baldwin customEventTrapped() method invoked on First NonVisualObject Source of event was NonVisual[,0,0,0x0,invalid] customEventTrapped() method invoked on Second NonVisualObject Source of event was NonVisual[,0,0,0x0,invalid]
התוכנית נבדקה ב 1.1 JDK תחת Win95.