» נושאי לימוד
» נושאי לימוד
יום שני 29 באפריל 2024
מבוא לממשק משתמש גרפי (GUI)
דף ראשי  מתחילים  מבוא לממשק משתמש גרפי (GUI) גרסה להדפסה
 

מבוא לממשק משתמש גרפי (GUI)

 

 

- מבוא

- הקדמה

- "Hello World " תוכנית GUI

- קטעי קוד מעניינים

- התוכנית במלואה


 

מבוא

 

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

אך סטודנטים בקורס ביניים לתכנות Java ותכנות Java מתקדם אחראים לידיעת והבנת כל החומר בשעור זה.

הקדמה

 

שיעור זה הינו מבוא קצר לתכנות של ממשק משתמש גרפי (GUI, שנהוג לבטאו כ‑gooey).

 

מבחינה מעשית, רוב תוכניות Java משתמשות ב‑GUI לתקשורת בין התוכנית והמשתמש.
ספרים רבים מדלגים לנושא הפיתוח של ממשקים כאלה מבלי לספק את הרקע הנדרש לכך,
וזאת כיוון שתכנות של
GUI’s הוא מהנה יותר מאשר תכנות החומר היומיומי יותר,
הנחוץ לשם לימוד יסודות התכנות ב‑
Java.

 

פילוסופיית ההוראה שלי רואה כצורך לפתח שליטה איתנה במספר רב של מושגי תכנות חשובים ב‑Java לפני שניגשים לשלב התכנות של GUI.

 

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

 

אם אתם אמנם מבינים את הדיון בתוכנית שלהלן, כנראה שאינכם זקוקים לקורס מבוא לתכנות ב‑Java. רמת הידע שלכם היא הרבה מעבר לשלב המבוא.

 

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

 

 

 "Hello World" תוכנית GUI

 

 

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

 

שימו לב, שהתוכנית משתמשת ברכיבי Swing. לכן, ספריית מחלקת Swing חייבת להיות מותקנת ונגישה למהדר, לפני שנוכל להדר ולהריץ את התוכנית. נכון לתאריך הכתיבה (5/7/98), Swing 1.0.1 היתה זמינה להורדה ללא תשלום מאתר JavaSoft.

 

התוכנית מתחילה באובייקט Frame heavyweight על המסך. ה‑Frame מכילה חמישה רכיבים:

 

heavyweight Button .1 עם הכיתוב "Toggle Color"

lightweight JButton .2 עם הכיתוב "Say Hello"

lightweight JButton .3 עם הכיתוב "Say Goodbye"
4.
Label heavyweight ירוק עם הכיתוב הראשוני "Color Me". זהו הפלט, או רכיב התצוגה, עבור התוכנית.

5. Label heavyweight אדום עם הכיתוב "Toggle Color". Label זה מתפקד כאובייקט Button מדומה.

 

רכיבי ה‑ lightweight מציגים את ה‑metal look and feel של JavaSoft. רכיבי ה‑heavyweight מציגים את ה‑look and feel של מערכת ההפעלה שברקע.

 

לחיצה על אובייקט heavyweight Button מחליפה את צבע הרקע של התצוגה מצהוב לירוק ולהיפך. לחיצה על אובייקט Label heavyweight עם הכיתוב "Toggle Color" גורמת לכך, שהמאזין לעכבר עבור רכיב זה יוצר אובייקט ActionEvent מדומה, שולח אותו לתור אירועי המערכת ומאשים בכך את אובייקט heavyweight Button. כאשר האירוע מגיח מן התור, המערכת סבורה כאילו אובייקט Button הממשי נלחץ בפועל, והיא מחליפה את צבע הרקע של התצוגה ממש כאילו היתה לחיצה על אובייקט Button.

 

Label ה‑heavyweight, המשמש כ‑Button מדומה, אינו מודע לתוצאה הנ"ל. כל מה שהוא יודע זה, שהוא יוצר אובייקט ActionEvent מדומה ושולח לתור האירועים, כאשר ה‑Button מוגדר כמקור האירוע.

 

לחיצה על אחד משני ה‑Buttons lightweight גורמת להחלפת הכיתוב בתצוגה ל‑"Hello"
או ל‑"
Goodbye", בהתאם ל‑Button שנלחץ.

 

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

 

התוכנית נבדקה תוך שימוש ב‑JDK 1.1.6 ו‑Swing 1.0.1 תחת Win95.
כמו-כן, היא נבדקה גם תוך שימוש ב‑
JDK 1.2 תחת Win95.

 

 21-12-03 / 19:03  נוצר ע"י רונית רייכמן  בתאריך 
 שימוש במחלקות System ו‑PrintStream - הקודםהבא - קטעי קוד מעניינים 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 5