הדרכה של Java Swing הוא חלק מ-Java Foundation Classes (JFC) כלומר משמש ליצירת יישומים מבוססי חלונות . הוא בנוי על גבי AWT (Abstract Windowing Toolkit) API ונכתב כולו ב-java.
בניגוד ל-AWT, Java Swing מספקת רכיבים קלים ובלתי תלויים בפלטפורמה.
חבילת javax.swing מספקת שיעורים עבור Java swing API כגון JButton, JTextField, JTextArea, JRadioButton, JCheckbox, JMenu, JColorChooser וכו'.
תחביר git pull
ההבדל בין AWT ל- Swing
ישנם הבדלים רבים בין java awt ל-swing המובאים להלן.
לא. | Java AWT | Java Swing |
---|---|---|
1) | רכיבי AWT הם תלוי בפלטפורמה . | רכיבי Java Swing הם בלתי תלוי בפלטפורמה . |
2) | רכיבי AWT הם כָּבֵד מִשְׁקָל . | רכיבי הנדנדה הם קל . |
3) | AWT אינו תומך במראה ותחושה ניתנים לחיבור . | נַדְנֵדָה תומך במראה ותחושה ניתנים לחיבור . |
4) | AWT מספקת פחות רכיבים מאשר סווינג. | סווינג מספק רכיבים חזקים יותר כגון טבלאות, רשימות, חלוניות גלילה, בוחר צבעים, חלונית כרטיסיות וכו'. |
5) | AWT לא עוקב אחר MVC (Model View Controller) כאשר המודל מייצג נתונים, התצוגה מייצגת מצגת והבקר משמש כממשק בין המודל לתצוגה. | נַדְנֵדָה עוקב אחר MVC . |
מה זה JFC
ה-Java Foundation Classes (JFC) הם קבוצה של רכיבי GUI המפשטים את הפיתוח של יישומי שולחן עבודה.
האם אתה יודע- כיצד ליצור קובץ jar שניתן להרצה ב-java?
- איך להציג תמונה על כפתור בתנופה?
- כיצד לשנות את צבע הרכיב על ידי בחירת צבע מ- ColorChooser?
- כיצד להציג את השעון הדיגיטלי במדריך נדנדה?
- איך ליצור פנקס רשימות בתנופה?
- איך ליצור משחק פאזל ומשחק פאזל תמונה בתנופה?
- איך ליצור משחק טיק טק בתנופה?
היררכיה של שיעורי Java Swing
ההיררכיה של Java swing API ניתנת להלן.
מפתח הכנסת מחשב נייד
בשימוש נפוץ בכיתה שיטות רכיב
השיטות של Component class נמצאות בשימוש נרחב ב-Java Swing המובאות להלן.
שיטה | תיאור |
---|---|
public void add (רכיב ג) | להוסיף רכיב על רכיב אחר. |
ערכת חלל ציבורי (Int With, Int Height) | קובע את גודל הרכיב. |
public void setLayout(LayoutManager m) | מגדיר את מנהל הפריסה עבור הרכיב. |
public void setVisible(בוליאנית b) | מגדיר את הנראות של הרכיב. זה כברירת מחדל שקר. |
דוגמאות של Java Swing
ישנן שתי דרכים ליצור מסגרת:
- על ידי יצירת האובייקט של מחלקה Frame (אסוציאציה)
- על ידי הרחבת מחלקה Frame (ירושה)
אנחנו יכולים לכתוב את הקוד של swing בתוך main(), קונסטרוקטור או כל שיטה אחרת.
דוגמה פשוטה של Java Swing
בוא נראה דוגמה פשוטה של תנופה שבה אנו יוצרים כפתור אחד ומוסיפים אותו באובייקט JFrame בתוך השיטה main() .
קובץ: FirstSwingExample.java
import javax.swing.*; public class FirstSwingExample { public static void main(String[] args) { JFrame f=new JFrame();//creating instance of JFrame JButton b=new JButton('click');//creating instance of JButton b.setBounds(130,100,100, 40);//x axis, y axis, width, height f.add(b);//adding button in JFrame f.setSize(400,500);//400 width and 500 height f.setLayout(null);//using no layout managers f.setVisible(true);//making the frame visible } }
דוגמה של Swing by Association בתוך הקונסטרוקטור
אנחנו יכולים גם לכתוב את כל הקודים של יצירת JFrame, JButton ו-method call בתוך הבנאי java.
אלגוריתם חיפוש בינארי
קובץ: Simple.java
execvp
import javax.swing.*; public class Simple { JFrame f; Simple(){ f=new JFrame();//creating instance of JFrame JButton b=new JButton('click');//creating instance of JButton b.setBounds(130,100,100, 40); f.add(b);//adding button in JFrame f.setSize(400,500);//400 width and 500 height f.setLayout(null);//using no layout managers f.setVisible(true);//making the frame visible } public static void main(String[] args) { new Simple(); } }
ה-setBounds(int xaxis, int yaxis, int width, int height) משמש בדוגמה שלמעלה הקובעת את מיקום הכפתור.
דוגמה פשוטה של Swing by inheritation
אנחנו יכולים גם לרשת את מחלקת JFrame, כך שאין צורך ליצור את המופע של מחלקה JFrame במפורש.
קובץ: Simple2.java
import javax.swing.*; public class Simple2 extends JFrame{//inheriting JFrame JFrame f; Simple2(){ JButton b=new JButton('click');//create button b.setBounds(130,100,100, 40); add(b);//adding button on frame setSize(400,500); setLayout(null); setVisible(true); } public static void main(String[] args) { new Simple2(); }}הורד את הדוגמה הזו מה נלמד ב-Swing Tutorial
- מחלקה JButton
- מחלקה JRadioButton
- שיעור JTextArea
- מחלקה JComboBox
- שיעור JTable
- מחלקה JColorChooser
- מחלקה JProgressBar
- שיעור JSlider
- שעון דיגיטלי
- גרפיקה בתנופה
- מציג תמונה
- ערוך קוד תפריט עבור פנקס רשימות
- OpenDialog Box
- פנקס רשימות
- משחק פאזל
- משחק פאזל תמונה
- משחק טיק טק
- פריסת גבול
- GridLayout
- פריסת זרימה
- פריסת כרטיסים