תכנות מתקדם ב-Java/ממשק גרפי: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
Yift.shl (שיחה | תרומות)
Yift.shl (שיחה | תרומות)
שורה 57:
 
==הספריה הגרפית==
ג'אווה מספקת למשתמש ממשקי גרפיקה מובנים בשפה, דבר המקנה יתרון עצום לתוכנית, מכיוון שכך הממשק הגרפי אינו תלוי במחשב שבו עובדים ובמערכת ההפעלה. ספריית הגרפיקה נקראת '''''awt'''''
 
('''''abstract window toolkit'''''), ובעזרת שימוש בה המתכנת יוכל ליצור חלונות, לצייר צורות גיאומטריות שונות, ליצור כפתורים למיניהם, תפריטים נוחים וכו'.
הרכיבים היסודיים בספריה הם:
'''Component''' - רכיב. כל סוגי הרכיבים שמאפשרים ממשק עם המשתמש. למשל: כפתור, כפתור רדיו, תיבות גלילה, רשימה שאפשר לבחור ממנה.
'''Container''' - מיכל. רכיב שמכיל רכיבים אחרים (למשל מהסוג הקודם) למשל: חלון מסגרת - '''''frame''''', תיבת דו שיח.
'''''Menu''''' - תפריטים. השורה בראש החלון, המכילה פקודות כמו: קובץ, עריכה, עזרה וכו'.
כמו כן קיים מודל הארועים ('''''event model''''') - המנגנון ששולט על דרך תגובת התוכנית לארוע שהתרחש. כלומר אם בנינו מסגרת המכילה שני כפתורים, בעזרת מודל הארועים נשלוט במה שיקרה בלחיצה על כל אחד מהכפתורים האלה.
העיקרון בבנית התוכנית יהיה "הכלה": נגדיר מיכל ('''container''') כלשהו, למשל מסגרת חלון, שבו "נשים" כל מיני רכיבים ('''Components''') כמו כפתורים למשל, ע"י שימוש בפונקצית '''''()add''''' שמוגדרת במחלקה שלו, ולבסוף נגדיר מאזין לרכיב - '''''listener''''', כלומר קשר בין הרכיב לתוכנית, כך שפעולה על הרכיב, כמו הקלקה עליו באמצעות העכבר, תעשה משהו ספציפי בתוכנית.
נראה תוכנית לדוגמא:
<source lang = "java">
'''''import java.awt.*;'''''
 
'''''public class App'''''
'''''import java.awt.*;'''''
 
{
'''''public class App'''''
 
'''''Frame f=new frame("first aplication");'''''
'''''{'''''
 
'''''public App()'''''
'''''Frame f=new frame("first aplication");'''''
 
{
'''''public App()'''''
 
'''''f.setLayout(new FlowLayout());'''''
'''''{'''''
 
'''''Button b2b1=new Button ("button2button1");
'''''f.setLayout(new FlowLayout());'''''
 
'''''Button b1b2=new Button ("button1button2");'''''
 
f.add(b1);
'''''Button b2=new Button("button2");
 
'''''f.add(b1b2);'''''
 
'''''f.setVisible(true);'''''
'''''f.add(b2);'''''
 
}
'''''f.setVisible(true);'''''
 
'''''public static void main (String[]args)'''''
'''''}'''''
 
'''''App app=new App();'''''
'''''public static void main (String[]args)'''''
 
}
'''''App app=new App();'''''
 
'''''}'''''
 
'''''}'''''
 
}
</source>
 
{{תכנות מתקדם ב-Java|מוגבל}}