» נושאי לימוד
» נושאי לימוד
יום שני 29 באפריל 2024
מהו אירוע
דף ראשי  מתקדמים  טיפול באירועים  מהו אירוע גרסה להדפסה

 

מהו 'אירוע'?

 

כשיזדמן לך לבקר בחנות ספרים, קח עותק של 

 “Teach Yourself Windows Programming in 21 Days”   מאת Charlie Calvert ועיין בו.

ספרו של Calvert מסביר כיצד לכתוב תוכניות C רגילות על מנת ליצור את

ה Graphical User Interface (GUI) ('ממשק משתמש גרפי') שאתה רואה לרוב בתוכנות Windowsזהו ספר מצוין בנושא, המציב בפניך אתגר מעניין, במיוחד כשמדובר ב 21 ימים.

תפיסת התיכנות שמציג Calvert (שהייתה התפיסה היחידה בימיה הראשונים של Windows) מבצעת קריאות למאות פונקציות ,פשוטו כמשמעו, שמספק ה API של Windows.

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

 

תגובת Windows לפעולות המשתמש

כשמחשב פועל תחת Windows, תוכנת ה Windows או מערכת ההפעלה שלה
(איך שלא תקרא לזה), עושה ניטור תמידי של פעולות המשתמש.

[זה נכון גם לגבי מערכות הפעלה אחרות התומכות ב GUI –) ממשק משתמש גרפי) ].

המשתמש עשוי להזיז את העכבר, ללחוץ עליו, להקיש על מקשים שעל המקלדת, או לגעת במסך המופעל על ידי מגע (touch-screen) וכו'.

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

בין השאר, מסביר הספר של  Calvert כיצד לכתוב תוכניות המפרשות את ההודעות האלה נכונה על מנת ליצור ממשק משמעותי עם המשתמש.

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

ספרו של Calvert מתאר כיצד לפרש את ההודעות האלה ולגרום לתוכנה להגיב באופן הולם.

 

מהו המיקום המתאים לג'אווה?

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

לעומת זאת, מערכתrun-time  של ג'אווה היא תוכנית הפועלת ברמה זו.

לדוגמא אנחנו יכולים להפעיל אפליקציה של ג'אווה באמצעות הכנסת הפקודה הבאה ב prompt (שורת  הפקודות) של מערכת ההפעלה:

Java MyProgram MyOptinalCommandLineArgument      

 

כפי שאתה רואה, התוכנית שלמעשה אנחנו מפעילים היא תוכנית הנקראת java.

זה גורם למערכת run-time של ג'אווה להתחיל לפעול. אפליקציית הג'אווה שלנו היא בסה"כ ארגומנט שורת-פקודה (command-line argument) לתוכנה הזו.

ארגומנט שורת-הפקודה הראשון (שם קובץ מחלקה של ג'אווה) מועבר לתוכנה הנקראת java. ארגומנטים של שורת פקודה נוספים (אם בכלל) מועברים לאפליקציה של ג'אווה.

מערכת run-time של ג'אווה גורמת לאפליקציה שלנו לפעול תחת השליטה הישירה שלה.

באופן דומה, כשאנו מפעילים applet , יש כבר תוכנית שפועלת, שאותה אנו בד"כ מכנים דפדפן.

 

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

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

 

על כל פנים, הודעות אלה אינן נשלחות ישירות לאפליקציית הג'אווה או ל  applet שלנו.
במקום זה,
הן נשלחות למערכת run-time של ג'אווה שמבצעת עיבוד מוקדם משמעותי מסוים בשמנו.

 

אם יש לך הזדמנות לעבור על הספר של Calvert העף מבט בחלק העוסק ב “message crackers " ('מפצחי מסרים/הודעות'). אלה הן טכניקות להמרת ההודעות המורכבות שמייצרת מערכת ההפעלה במשהו משמעותי יותר.

 

בין השאר, מערכת run-time של ג'אווה מבצעת את המאמץ לפיצוח ההודעות בשמנו.

 

כימוס פעולות משתמש באובייקטים של Event
(Encapsulating user Activities into Event Objects)  

העיבוד המוקדם (preprocessing) העקרי שמבצעת מערכת run-time של ג'אווה הוא:

-    פירוש ואיסוף את המידע שבהודעות ו-

-   "כימוסו",ריכוזו  (encapsulate)  בתוך אובייקטים של המחלקה Event.

 

המחלקה  Event כלולה בחבילת java.awt. היא מחלקה כ"כ חשובה שאנו עומדים לדון בה לעומק, תוך שימוש במידע שלקוח ממסמכי ה Java API מתוך JavaSoft.

 

 07-12-03 / 18:40  עודכן ,  11-10-03 / 12:51  נוצר ע"י רונית רייכמן  בתאריך 
 הקדמה - הקודםהבא - המחלקה Event 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 3