» נושאי לימוד
» נושאי לימוד
יום שני 29 באפריל 2024
סינפסה
דף ראשי  מתקדמים  Swing, הבנת ()getContentPane ושכבות Jframe אחרות  דיון כללי  סינפסה גרסה להדפסה

סינפסה

 

 

JrootPane   הוא מכל.

 

האובייקט של JrootPane אשר ממוקם באופן אוטומטי באובייקט Jframe מכיל לפחות עוד שני אובייקטים נוספים.

       1.          אובייקט מסוג JlayeredPane אשר נתייחס אליו כאל layeredPane.

       2.          אובייקט מסוג Jpanel אשר נתייחס אליו כאל glassPane.

 

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

בחרתי להימנע מדיון בו עד לדיון בתפריטי Swing).

 

LayeredPane  ו- glassPane גם כן ממלאים את האזור נראה באובייקט Jframe

 GlassPane נמצא מעל ל- layeredPane וכפי שהשם מרמז הוא בדרך כלל שקוף.

 

רכיבים על גבי ה- layeredPane הם נראים דרך glassPane ואירועי עכבר יכולים לחדור דרך

glassPane ולהגיע לרכיבים על גבי ה- layeredPane כל עוד ה-glassPane  הוא שקוף.

 

 LayeredPaneמכיל רכיב נוסף מסוג Jpanel אליו נתייחסם כ- contentPane?

זוהי אותה השמשה בה טיפלנו כאשר עוררנו את פונקצית getContentPane() על אובייקט

ה- Jframe.

 

ל- layeredPane התנהגות מעניינת מאד.

כאשר נוסיף רכיבים ל ContentPane, הם מתווספים באותה רמה והרכיבים המתווספים קודם

נצבעים על רכיבים המתווספים מאוחר יותר.

אולם, כאשר נוסיף רכיבים ל- layeredPane נוכל לתת מספר שכבה ספציפי עליו אנו רוצים

שהרכיב יצטייר.

 

רכיבים המצוירים על שכבות בעלי מספרים גבוהים (סימון אלגברי) מצוירים על רכיבים על גבי שכבות

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

קטנים במקרה זה, כאשר מספר השכבה הקטן ביותר המתאפשר הוא 29,99 -).

 

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

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

 

רעיון תצוגה זה הוא גישה כוחנית יותר מאשר החדרת getContentPane() בין הפוינטר לאובייקט

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

מחשב כגון עיצוב בעזרת מחשב ותכנות משחקים).

 

אם כך, איפה נכנס אובייקט ה- contentPane אשר שייך ל- layeredPane?

רכיבים על contentPane מצוירים מאחורי רכיבים אשר יכולים להתווסף ישירות ל- layeredPane.

 

למעשה, מיקום השכבה של contentPane הוא מספר שכבה 30,000 - . מספר השכבה הקטן

ביותר בו ניתן להשתמש על מנת למקם רכיב ישירות על השכבה הוא 29,999 -

(נמקם אחד שם מאוחר יותר בתוכנית דוגמא).

 

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