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

תוכנית דוגמא

 

המטרה העיקרית של תוכנית זו היא להדגים את השימוש ב- contentPane ו- layeredPane.

 

התוכנית ממקמת אובייקט Jframe על המסך כ-GUI ראשוני.

 

JTextField אדום ו-Jlabel ממוקמים על ה- contentPane על אובייקט ה-Jframe.
(שים לב שה-
Jlabel הופך אפור ב- L&F המטאלי.)

 

ה- JtextField ממקום במרכז ה-Jframe תוך שימוש בברירת מחדל של תצוגת הגבולות.
ה-
Jlabel ממקום במיקום דרומי על אובייקט ה- Jframe.

 

Jbutton ירוק ו-Jbutton  צהוב ממקומים על גבי ה- layeredPane. מסתבר שתצוגת המחדל
של
LayeredPane  היא אבסולוטית או אפס.אובייקטים של ה- Jbutton ממוקמים בכוונה על מנת לחפוף זה את זה במידה מה. שני הכפתורים מופיעים בחלק העליון של אובייקט ה- JtextField האדום על ה- contentPane.
(רכיבים על שכבות של שמשות הם תמיד מעל לרכיבים של
contentPane).

 

ה- Jbutton  הירוק ממוקם תחילה במיקום שכבה +1 והצהוב ממוקם תחילה
במיקום שכבה
29999 אשר מהווה את הגבול בכיוון השלילי.

 

מאזיני פעולות נרשמים על שני הכפתורים. כאשר הכפתור העליון נלחץ, הפעולה היא להחליף את מעקומי השכבות של שני הכפתורים וכך גורמת לתחתון לעבור למעלה.

 

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

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

 

Root pane is: class com.sun.java.swing.
JRootPaneParent of root pane is SwingPane01
     [frame0,0,0,0x0,invalid,hidden,
     layout=java.awt.BorderLayout,resizable,title=]
Glass pane is: class com.sun.java.swing.
JPanelParent of glass pane is com.sun.java.swing.JRootPane
     [,0,0,0x0,invalid,
     layout=com.sun.java.swing.JRootPane$RootLayout]
Layered pane is: class com.sun.java.swing.JLayeredPane
Parent of layered pane is com.sun.java.swing.JRootPane
     [,0,0,0x0,invalid,
     layout=com.sun.java.swing.JRootPane$RootLayout]
Content pane is: class com.sun.java.swing.JPanel
Parent of content pane is com.sun.java.swing.JLayeredPane
     [null.layeredPane,0,0,0x0,invalid]
An interpretation of the above is:
  The root pane is a child of the JFrame object.
  The glass pane is a child of the root pane.
  The layered pane is a child of the root pane.
  The content pane is a child of the layered pane.
  The root pane is of type JRootPane.
  The glass pane is of type JPanel.
  The layered pane is of type JLayeredPane.

  The content pane is of type JPanel.

 

 

תיעוד JavaSoft מציין ש- contentPane ממוקם במיקום שכבה שווה ערך ל- (-30000)
ב-
layeredPane.

 

ה- glassPane מהווה מעין מסתורין עבורי בנקודת זמן זו (5/12/98). לא יכלתי לצייר
על ה-
glassPane. ניסיון למקם אובייקט Jbutton או אובייקט JtoolTip על ה- glassPane
נדחה על הידע המלקט עם הודעות שגיאה ש-
Jbutton ו- JtoolTip אינם יכולים
להיות ממומרים לסוג
JpopUpMenu. איני יודע אם זוהי ההתנהגות הנכונה או שמא זהו באג.


התוכנית נבדקה תוך שימוש ב- JDK 1.1.6  ו- Swing 1.0.1 תחת Win95.

 

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