» נושאי לימוד
» נושאי לימוד
יום חמישי 1 במאי 2025
 AWT ו- Swing - הקדמה
דף ראשי  מתקדמים   AWT ו- Swing - הקדמה גרסה להדפסה
 

 AWT ו-   (הקדמה) - Swing

דיון

שיעור זה מספק הקדמה קצרה ביותר של חלק ממה שתצפה למצוא בשיעורים הבאים אודות Abstract Windows Toolkit) - AWT מערכת כלים אבסטרקטית של Windows וסט רכיב ה-Swing.

 

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

 

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

 

הרבה מהתכנות שתבצע עם Java יערב אספקטים של הממשק אותם מכנים לעיתים קרובות ממשק המשתמש הגרפי (GUI).

 

נכון ל- 5/10/98, ישנן שתי חבילות ראשיות בהן משתמשים עבור תכנות GUI תחת JDK 1.1.6 :

1.      java.awt*

2.       com.sun.java.swing*

 

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

חומר הAWT-  הפך זמין למתכנתי Java  בתקופה מוקדמת בחיי ה- Java. זה היה החומר המקורי בו השתמשו על מנת ליצור ממשקי משתמש גרפיים. שיפורים משמעותיים ל- AWT הוצגו יחד עם הוצאת JDK 1.1.

 

רכיבי ה- Swing  הפכו זמינים לשימוש ב-JDK 1.1 סביב תחילת 1998. רכיבים אלה הוסיפו באופן משמעותי ליכולת המתכנת ליצור ממשקי משתמש גרפיים, במונחים של תפקוד ושל מראה.

 

היכולות והמראות של AWT היו מוגבלות מאד אבל Swing הפך את תכנות ה-GUI ב- Java למתחרה בעולם האמיתי.

מתכנת Java כבר אינו צריך להתנצל על איכות הממשקים הגרפיים שהוא יכול ליצור.

 

נצפה ששתי חבילות אלה יהפכו משולבות יותר (דבר שיגרום לשינויים בהצהרות היבוא שלך) עם שחרור JDK 1.2 (כנראה מתישהו ב- 1998) אך בתקווה קונספטים אלה לא ישתנו בהרבה.

 

נכון ל- 3/5/97 ישנן יותר מ-50 מחלקות המוגדרות בחבילה java.awt. נדון בחלק מהמחלקות ה-AWT החשובות יותר בשיעורים הבאים.

 

נכון ל-  5/10/98 חבילת ה-com.sun.java.swing מכילה יותר מ- 75 מחלקות ו- 20 ממשקים. לכן, יתכן ותגלה שלמידת השימוש בהם אינו דבר טריביאלי.

 

חשוב להבין ש-Swing זהו הרחבה, ולא החלפה, AWT. נכון שישנה חפיפה מסוימת (לדוגמא, רכיב JButton של Swing ייתכן ונראה כתחליף שימושי משופר עבור רכיב Button של AWT, וברגע שתחל להשתמש ב- Swing  יתכן ותבחר לא להשתמש אף פעם בכפתור של AWT),

התפקוד הבסיסי של Swing מושתת על התפקוד של AWT.

 

לכן, כסטודנטים, לא נוכל לדלג על הבנת ה- AWT ולעבור ישירות ל- Swing.

ה-AWT הוא הבסיס ל- Swing.

 

עלייך קודם להבין את ה- AWT ואז תבין כיצד  Swing מרחיב ומשפר את AWT. אנסה לשלב הבנה של AWT ו- Swing בשיעורים הנותרים בלימוד Java.

 

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

 

מה שלא אעשה זה להראות לך תמונות רבות של רכיבי AWT ו- Swing שונים כפי שמתרחש בספרים רבים ושיעורים אחרים (למרות שתמונות מסוג זה יכולות להיות חשובות עבור הערכת תכנות GUI). (שמת לב כמה ספרי תכנות Java משתמשים בעותקים של תיעוד JavaSoft כממלא מקום בכדי לגרום לספר להראות כמכיל יותר אינפורמציה ממה שאכן מכיל?

לפחות חצי מהספרים המודפסים כעת הם לא יותר מרפרודוקציה של התיעוד שתוכל להוריד בחינם מ- JavaSoft. טוב מספיק עם הנושא!)

 

אם תרצה לראות תמונות של רכיבי AWT ו- Swing (דבר טבעי לחלוטין), תוכל ליצר אותם בעצמך על גבי מסך המחשב שלך.

 

לדוגמאות של רכיבי AWT, פשוט הסתכל בעוטפנים (folders) בתוכנה שתוריד מ- Java.Soft. כשתתקין את JDK 1.1.6 עוטפן בשם "דמו" יוצר אשר מכיל כ- 24 תוכניות דוגמא. לרבים מתוכניות דוגמא אלה יש ממשק משתמש גרפי העושה שימוש ב-AWT. פשוט תריץ את התוכניות על מנת לראות דוגמאות לשימוש ב-AWT.

 

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

 

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

 

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

 

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

 

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

 

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

 

חלון ה- CheckBoxes משתמש בנורה אשר מוארת או לא מוארת על מנת להדגים מבחר פריטי Checkbox.

 

הדוגמאות על חלון Slider  הם מרשימים ביותר (ל-AWT אין רכיב slider, על אף שניתן להשתמש ב- ScrollBar כ- slider גס).

 

תסתכל על חלון ListBox על מנת לראות דוגמא נוספת של שימוש בדמויים בתוך רכיב.

 

חלון DebugGraphics מדגים כיצד להריץ את התוכנה שלך בהילוך איטי כך שתוכל לראות איך הרכיבים מתאספים למטרות הוצאת באגים. שים לב שיש שימוש ב- slider על מנת לשלוט במהירות התאספות הרכיבים.

 

וכמובן, בכל מקום אליו תפנה בדמו הזה, תראה הצעות כלים (tool tips) שאינן חלק מ- AWT. עבור שחרור קומי קצר הבט בחלון tool tips.

 

אל תשכח להוריד את תפריט אפשרויות (options) ולבחור את "המראה והמרגש" של חלונות שונים בזמן הצפייה בהם.

 

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

 

 29-11-03 / 20:01  עודכן ,  13-10-03 / 17:40  נוצר ע"י רונית רייכמן  בתאריך 
 טיפול באירועים ב-JDK 1.0.2, רכיבים חכמים - הקודםהבא - רשימות מקושרות, מחסניות ותורים 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 2