פתח דבר
סטודנטים בכיתות של פרופסור בולדווין ל "תכנות Java בשלב ביניים" ב ACC אחראים לדעת ולהבין את כל החומר בשיעור הזה. 1.1 JDK הותרה לפרסום רשמית ב18 לפברואר 1997. שיעור זה נכתב במקור בשבעה למרץ 1997 תוך שימוש בתכנה ובתיעוד בחבילת הטעינה של 1.1 JDK. זה עודכן בהזדמנויות שונות מאז.
תכנית הדגימה בשיעור זה אושרה להיות מחוברת ומורצת כראוי תחת 1.2 JDK בשניים במרץ 1999.
הקדמה
זהו שיעור אחד בסדרה של שיעורים אשר מתרכזים בחבילה java.awt אשר בה קיימת רב השימושיות להספקת ממשק - המשתמש לאפליקציה או ל applet שלך.
בשיעור זה נלמד כיצד להשתמש במחלקת CardLayout ליצירת מנהל שרטוט. כמו כן, נמשיך ללמוד כיצד ליצור אובייקטי ממשק-משתמש ע"י בניית קומבינציה של אובייקטים קטנים יותר לתוך האובייקט המרוכב הסופי.
בפרט, ניצור אובייקט ממשק-משתמש של רמה-עליונה שהנו אובייקט מסגרת המכיל שני אובייקטי פנל. אחד מאובייקטי הפנל ישרת כפנל-תצוגה אשר עליו נוכל להציג כל אחד מכרטיסים רבים תוך שימוש במנהל CardLayout. אובייקט הפנל האחר מכיל אובייקטי כפתור רבים אשר אנו יכולים לנצל לדפדוף בקלפים המוצגים על אובייקט הפנל האחר. כל הקלפים פרט לאחד בחבילת כרטיסים פסיביים (אין להם כל אובייקטי מאזין של אירוע). אחד מהכרטיסים בחבילה מכיל אובייקט כפתור, אשר אינו פסיבי. במקרה הזה הקשה על הכפתור גורמת להצגת התאריך והזמן על אותו קלף. זהו אחד התהליכים הניתנים לניצול על ידך ליצירת אותם סוגים מורכבים של אובייקטי ממשק-המשתמש אליהם אתה רגיל לראות בממשקי משתמש גרפיים טיפוסיים.
מנהל CardLayout
בשיעורים מוקדמים יותר למדנו אודות הצבה מוחלטת ושינוי גודל של רכיבים במיכל, ולמדנו אודות מנהל ה BorderLayout ו מנהל ה FlowLayout ומנהל ה GridLayout. בשיעור זה נלמד על מנהל ה CardLayout.
מנהל ה CardLayoutהוא מנהל שרטוט עבור מיכל הכולל כרטיסים אחדים. רק כרטיס אחד גלוי לעין בכל פעם, מה שמאפשר לך לדפדף בכרטיסים תוך שימוש במתודות של המחלקה. למחלקת ה CardLayout אין כל שדות, יש לה 2 בנאים ובערך 20 מתודות. אתה בדרך כלל תעסוק בבנאים ובמתודות אחדות אשר מנוצלות להציג את הכרטיסים. בתכנית לדוגמא בשיעור זה , נשתמש ב 5 מתודות שונות. להציג את הכרטיסים בחבילה של כרטיסים בדרכים שונות.
הבנאים הינם:
CardLayout יוצר מערך קלף חדש עם פערים של גודל 0.
CardLayout(int,int) יוצר מערך קלף עם הפערים הנקובים
הטרמינולוגיה המנוצלת בתיאור של בנאים אלה צריכה להיות מוכרת לך בשלב הזה.
הרשימה הבאה היא של מתודות אשר תנוצלנה בתכנית לדוגמא בשיעור זה:
first(Container) - דפדף לקלף הראשון.
last(Container) - מדפדף לקלף האחרון של המיכל הנקוב.
- next(Container)מדפדף לקלף הבא של המיכל הנקוב.
previous(Container) - מדפדף לקלף הקודם של המיכל הנקוב.
show(Container, String) - מדפדף לשם הרכיב הנקוב במיכל הנקוב.
שיעור זה מכיל תכנית לדוגמא אחת והיא די ארוכה. אולם, חלק ניכר מהאורך נובע מהקוד שהנו בד"כ חוזר על עצמו. תכנית לדוגמא זו מורכבת יותר מתכניות קודמות בשיעורים על מנהלי שרטוט. מנהל ה CardLayout הוא מורכב יותר במעט מאלה שנלמדו קודם לכן, אך עם מורכבות זו באה עוצמה ניכרת.
מנהל שרטוט הכרטיס עושה את זה אפשרי עבורך ליצור ממשק משתמש גרפי המורכב מדפים מרובים לתקשורת עם המשתמש, כאשר רק דף אחד נראה בכל פעם. לתוכנית זו יש אובייקטי מאזין לפעולה העובדים בשתי רמות. ברמה אחת אובייקטי מאזין לפעולה משמשים לבחירת כרטיס לצפייה. ברמה האחרת אובייקט מאזין לפעולה נרשם לשרת כפתור באחד הכרטיסים כדי לגרום לתאריך והשעה להיות מוצגים, כאשר הכרטיס מוצג וכאשר הכפתור באותו כרטיס נלחץ. לשם הבהרה, התוכנית לדוגמא בשיעור זה משתמשת בבנאי עם פרמטרים עבור אובייקט המאזין לפעולה של הכפתור הנ"ל. תוכנית לדוגמא אחרת בוף השיעור מראה איך לצמצם את השימוש בבנאי עם פרמטרים, מה שנחשב לעיתים כגישה טובה יותר ויותר מונחית עצמים. אולם הגישה השנייה מעט יותר מסובכת מנקודת מבט של הקוד.