» נושאי לימוד
» נושאי לימוד
יום שני 29 באפריל 2024
מקטעי קוד מעניינים
דף ראשי  מתקדמים  Placing Components in Containers, Absolute Coordinates  תכנית לדוגמא  מקטעי קוד מעניינים גרסה להדפסה

 

מקטעי קוד מעניינים

 

מקטעי הקוד  הבאים מהתכנית מעניינים באופן מיוחד.

 

צור ומיין לפי גודל את אובייקט הכפתור

שתי ההצהרות הבאות

    Button myButton = new Button("Button");
    myButton.setBounds(new Rectangle(25,50,100,75));

 

 

 

 

 

 גורמות לפעולות הבאות:

יצירת אובייקט כפתור עם הכותרת "Button".

קביעה כי  הכפתור צריך להיות ממוקם ב x=25  וב y=50  שנמדדים בפיקסלים מהפינה השמאלית-עליונה של האובייקט המכיל. Y חיובי נמדד תוך ירידה מטה לאורך המסך. נקודת ההתייחסות על הכפתור היא הפינה השמאלית עליונה של הכפתור.

קביעה כי הכפתור צריך להיות ברוחב 100 פיקסלים ובגובה 75 פיקסלים.

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

מתודת SetBounds() היא מתודה של המחלקה רכיב שאותה יורשות כל תת- המחלקות של רכיב כולל המחלקה כפתור.

המתודה מציינת כי הרכיב צריך להיות ממוקם וממוין לפי גודל בהתאם למלבן מגביל אשר צדדיו מקבילים לצירי ה x  והy.

כפי שראיתם קודם לכן, ישנה העמסה של שתי גרסאות שונות  של המתודה setBounds(). גרסה אחת מתירה למיקום ולגודל של הbox (חלון, תא)  להיות נקובים ישירות כארבעה פרמטרים שלמים(x,y,, רוחב, גובה). הגרסה האחרת , שהיא הגרסה הבאה בה השתמשנו לעיל הדורשת לנקוב את המיקום והגודל של החלון/התא box ע"י אובייקט מסוג מלבן אשר מועבר כפרמטר למתודה. זוהי הגישה הכי גמישה משום שלמחלקת המלבן בערך שבעה בנאים שונים אשר יכולים להיות מנוצלים ליצור את התא המגביל.

 

צור ומיין לפי גודל את אובייקט התווית

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

    Label myLabel = new Label(
                      "Copyright 1997, R.G.Baldwin");
    myLabel.setBounds(new Rectangle(100,100,100,75));
    myLabel.setBackground(Color.yellow);

 

 

 

 

 

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

public final static Color yellow

 

 

 

 

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

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

 

צור את אובייקט המסגרת

מקטע הקוד  הבא יוצר אובייקט מסגרת עם הכותרת "Copyright1997,R.G.Baldwin" , מסגרת -  הוא סוג האובייקט שסביר כי משתמשים של מערכת ההפעלה windows יחשיבו להיות "חלון" טיפוסי.  ניתן לקבוע לו גודל חדש,  יש לו כפתור מזעור, כפתור מקסום, כפתור חלון בקרה control box)) וכפתור סגור ((close.

ברירת המחדל לשרטוט מסגרת  הוא BorderLayout אשר אותו נלמד מאוחר יותר .

    Frame myFrame = new Frame(
                     "Copyright 1997, R.G.Baldwin");
    myFrame.setLayout(null);

 

 

 

 

 

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

מתודת ה()setLayout  היא מתודה של המחלקה מיכל (container) כאשר מחלקת המסגרת מהווה תת-מחלקה שלה. מתודת ה()setLayout צריכה כפרמטר אובייקט ממחלקת LayoutManager או null (מה שמציין כי אין מנהל שרטוט).

 

הוסף את הרכיבים למסגרת

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

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

 

    myFrame.add(myButton);
    myFrame.add(myLabel);

 

 

 

 

מיין את המסגרת לפי גודל ועשה אותה נראית לעין

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

 

    myFrame.setSize(250,150);
    myFrame.setVisible(true);

 

 

 

 

 רישום מלא של התכנית מסופק ביחידה הבאה.

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