Java AWT (ערכת הכלים של חלונות מופשטים) היא API לפיתוח ממשק משתמש גרפי (GUI) או יישומים מבוססי חלונות ב-Java.
רכיבי Java AWT הם תלויי פלטפורמה, כלומר רכיבים מוצגים בהתאם לתצוגה של מערכת ההפעלה. ל-AWT משקל כבד, כלומר הרכיבים שלו משתמשים במשאבים של מערכת ההפעלה הבסיסית (OS).
ה-java.awt חֲבִילָה מספק שיעורים עבור AWT API כגון TextField, Label, TextArea, RadioButton, CheckBox, Choice, List וכו'.
המדריך של AWT יעזור למשתמש להבין תכנות Java GUI בשלבים פשוטים וקלים.
מדוע AWT עצמאית בפלטפורמה?
Java AWT קוראת לפלטפורמה המקורית קוראת ל-Native platform (מערכות הפעלה) תת שגרת ליצירת רכיבי API כמו TextField, ChechBox, כפתור וכו'.
לדוגמה, ל-AWT GUI עם רכיבים כמו TextField, תווית וכפתור יהיו מראה ותחושה שונים עבור הפלטפורמות השונות כמו Windows, MAC OS ו-Unix. הסיבה לכך היא שלפלטפורמות יש השקפה שונה על הרכיבים המקוריים שלהן ו-AWT קורא ישירות לתת-השגרה המקורית שיוצרת את הרכיבים הללו.
במילים פשוטות, יישום AWT ייראה כמו יישום חלונות במערכת ההפעלה Windows ואילו הוא ייראה כמו יישום מק ב-MAC OS.
היררכיית Java AWT
ההיררכיה של מחלקות Java AWT ניתנות להלן.
רכיבים
כל האלמנטים כמו הכפתור, שדות טקסט, פסי גלילה וכו' נקראים רכיבים. ב-Java AWT, יש מחלקות לכל רכיב כפי שמוצג בתרשים לעיל. על מנת למקם כל רכיב במיקום מסוים על המסך, עלינו להוסיף אותם למיכל.
מְכוֹלָה
ה-Container הוא רכיב ב-AWT שיכול להכיל רכיבים אחרים כמו כפתורים, שדות טקסט, תוויות וכו'. המחלקות שמרחיבות את מחלקת ה-Container ידועות כ-container כגון מסגרת, דיאלוג ו לוּחַ .
חיתוך מיתרי ג'אווה
זה בעצם מסך שבו הרכיבים ממוקמים במיקומים הספציפיים שלהם. כך הוא מכיל ושולט בפריסה של רכיבים.
הערה: מיכל עצמו הוא רכיב (ראה את הדיאגרמה לעיל), לכן נוכל להוסיף מיכל בתוך מיכל.
סוגי מיכלים:
ישנם ארבעה סוגים של מיכלים ב-Java AWT:
mamta kulkarni
- חַלוֹן
- לוּחַ
- מִסגֶרֶת
- דיאלוג
חַלוֹן
החלון הוא המיכל שאין לו גבולות וסרגלי תפריטים. עליך להשתמש במסגרת, דו-שיח או חלון אחר ליצירת חלון. עלינו ליצור מופע של מחלקה Window כדי ליצור את המיכל הזה.
לוּחַ
הלוח הוא הכלי שאינו מכיל שורת כותרת, גבול או שורת תפריטים. זהו מיכל גנרי להחזקת הרכיבים. זה יכול לכלול רכיבים אחרים כמו כפתור, שדה טקסט וכו'. מופע של מחלקה Panel יוצר קונטיינר, שבו נוכל להוסיף רכיבים.
מִסגֶרֶת
המסגרת היא המכולה שמכילה שורת כותרת וגבול ויכולה להכיל שורת תפריטים. זה יכול לכלול רכיבים אחרים כמו כפתור, שדה טקסט, פס גלילה וכו'. המסגרת היא המכולה הנפוצה ביותר בעת פיתוח יישום AWT.
שיטות שימושיות למחלקת רכיבים
שיטה | תיאור |
---|---|
public void add (רכיב ג) | הוספת רכיב על רכיב זה. |
ערכת חלל ציבורי (Int With, Int Height) | מגדיר את הגודל (רוחב וגובה) של הרכיב. |
public void setLayout(LayoutManager m) | מגדיר את מנהל הפריסה עבור הרכיב. |
ציבורי void setVisible(סטטוס בוליאני) | משנה את הנראות של הרכיב, כברירת מחדל false. |
דוגמה של Java AWT
כדי ליצור דוגמה פשוטה של AWT, אתה צריך מסגרת. ישנן שתי דרכים ליצור GUI באמצעות Frame ב-AWT.
- על ידי הרחבת מחלקת Frame ( יְרוּשָׁה )
- על ידי יצירת האובייקט של מחלקה Frame ( אִרגוּן )
דוגמה AWT על ידי ירושה
בואו נראה דוגמה פשוטה של AWT שבה אנחנו יורשים את מחלקת המסגרת. כאן, אנו מציגים את רכיב הכפתור על המסגרת.
AWTEexample1.java
// importing Java AWT class import java.awt.*; // extending Frame class to our class AWTExample1 public class AWTExample1 extends Frame { // initializing using constructor AWTExample1() { // creating a button Button b = new Button('Click Me!!'); // setting button position on screen b.setBounds(30,100,80,30); // adding button into frame add(b); // frame size 300 width and 300 height setSize(300,300); // setting the title of Frame setTitle('This is our basic AWT example'); // no layout manager setLayout(null); // now frame will be visible, by default it is not visible setVisible(true); } // main method public static void main(String args[]) { // creating instance of Frame class AWTExample1 f = new AWTExample1(); } }הורד את הדוגמה הזו
השיטה setBounds(int x-axis, int y-axis, int width, int height) משמשת בדוגמה שלמעלה הקובעת את המיקום של כפתור awt.
תְפוּקָה:
AWT דוגמה לפי אגודה
בואו נראה דוגמה פשוטה של AWT שבה אנחנו יוצרים מופע של מחלקה Frame. כאן, אנו יוצרים רכיב TextField, Label וכפתור על המסגרת.
AWTExample2.java
// importing Java AWT class import java.awt.*; // class AWTExample2 directly creates instance of Frame class class AWTExample2 { // initializing using constructor AWTExample2() { // creating a Frame Frame f = new Frame(); // creating a Label Label l = new Label('Employee id:'); // creating a Button Button b = new Button('Submit'); // creating a TextField TextField t = new TextField(); // setting position of above components in the frame l.setBounds(20, 80, 80, 30); t.setBounds(20, 100, 80, 30); b.setBounds(100, 100, 80, 30); // adding components into frame f.add(b); f.add(l); f.add(t); // frame size 300 width and 300 height f.setSize(400,300); // setting the title of frame f.setTitle('Employee info'); // no layout f.setLayout(null); // setting visibility of frame f.setVisible(true); } // main method public static void main(String args[]) { // creating instance of Frame class AWTExample2 awt_obj = new AWTExample2(); } }הורד את הדוגמה הזו
תְפוּקָה: