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

 

PEERS (יסודות)

 

החל מ JDK 1.1.3 כל רכיב שמסופק על ידי ה AWT ( לא SWING ) נתמך על ידי יסוד. היסוד הוא יישום מוקדם של הרכיב הזה.

 

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

 

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

 

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

 

    Label newLabel = new Label("New Label"); 
    System.out.println(newLabel.getPreferredSize().width);
 
    this.add(newLabel);    
    System.out.println(newLabel.getPreferredSize().width);

 

 

 

 

 

 

 

אתה תמצא שאתה לא תקבל נתונים אמיתיים בקריאה הראשונה של ה getPreferredSize() אבל אתה תקבל נתונים אמיתיים בקריאה השניה של ה getPreferredSize(), אחרי שהתווית נוספה למכיל הראשי שלה לאחר שהיתה כבר על המסך.

 

לפי הספר שנקרא Java AWT Reference שנכתב ע"י ג'ון זוקובסקי:

 

כאשר יוצרים רכיב של ג'אווה לא יוצרים את היסוד. יסוד של אוביקט נוצר כאשר האוביקט קורא ל addNotify(). וזה בדרך כלל קורה כאשר המכיל של הרכיב נוסף למסך.

 

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

 

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

 

אני אגמור את החלק הזה עם ציטוט אחרון מג'ון זוקובסקי:

 

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

 

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

 

 31-10-03 / 15:04  נוצר ע"י רונית רייכמן  בתאריך 
 תוכנית דוגמה - הקודםהבא - רכיבים קלים 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 4