נדנדה בג'אווה: דע כיצד ליצור ממשק משתמש עם דוגמאות



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

נדנדה ב- Java היא חלק ממעמד הבסיס של Java שהוא קל משקל ובלתי תלוי בפלטפורמה. הוא משמש ליצירת יישומים מבוססי חלונות. הוא כולל רכיבים כמו כפתור, סרגל גלילה, שדה טקסט וכו '. הרכבת כל הרכיבים הללו הופכת לממשק משתמש גרפי. במאמר זה נעבור על המושגים המעורבים בתהליך בניית יישומים באמצעות swing in . להלן המושגים הנדונים במאמר זה:

מה זה Swing In Java?

Swing in Java הוא ערכת כלים קלה של GUI הכוללת מגוון רחב של יישומונים לבניית יישומים מבוססי חלונות מותאמים. זה חלק מ- JFC (שיעורי קרן Java). הוא בנוי על גבי ממשק ה- API של AWT ונכתב כולו . זה בלתי תלוי בפלטפורמה בניגוד ל- AWT ויש לו רכיבים קלים.





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

מחלקת מיכלים

כל שיש בו רכיבים אחרים נקרא ככיתת מיכל. לבניית יישומי GUI יש צורך בכיתת מכולה אחת לפחות.



להלן שלושת סוגי מחלקות המכולה:

  1. פאנל - משמש לארגון רכיבים בחלון

  2. מסגרת - חלון מתפקד לחלוטין עם אייקונים וכותרות



  3. דיאלוג - זה כמו חלון קופץ אך לא פונקציונלי לחלוטין כמו המסגרת

ההבדל בין AWT לנדנדה

AWT נַדְנֵדָה
  • תלוי פלטפורמה
  • פלטפורמה עצמאית
  • לא עוקב אחר MVC
  • עוקב אחר MVC
  • רכיבים קטנים יותר
  • רכיבים חזקים יותר
  • אינו תומך במראה ותחושה הניתנים לניתוק
  • תומך במראה ובתחושה הניתנים לחיבור
  • כָּבֵד מִשְׁקָל
  • קל

היררכיית מחלקות נדנדה של Java

היררכיה-נדנדה בג

הֶסבֵּר : כל הרכיבים בתנופה כמו JButton, JComboBox, JList, JLabel עוברים בתורשה מהמחלקה JComponent שניתן להוסיף למחלקות המיכל. מיכלים הם החלונות כמו מסגרת ותיבות דו-שיח. רכיבי נדנדה בסיסיים הם אבני הבניין של כל יישום גוי. שיטות כמו setLayout עוקפות את פריסת ברירת המחדל בכל מיכל. מיכלים כמו JFrame ו- JDialog יכולים להוסיף רכיב לעצמו בלבד. להלן מספר רכיבים עם דוגמאות כדי להבין כיצד אנו יכולים להשתמש בהם.

כיתת JButton

הוא משמש ליצירת כפתור שכותרתו. באמצעות ActionListener זה יביא לפעולה כלשהי כאשר לוחצים על הכפתור. היא יורשת את מחלקת AbstractButton והיא בלתי תלויה בפלטפורמה.

דוגמא:

ייבא javax.swing. * דוגמה למחלקה ציבורית {public static void main (String args []) {JFrame a = new JFrame ('example') JButton b = JButton new ('click me') b.setBounds (40,90, 85,20) a.add (b) a.setSize (300,300) a.setLayout (null) a.setVisible (true)}}

תְפוּקָה:

הכנס php לטבלה $

מחלקת JTextField

היא יורשת את מחלקת JTextComponent והיא משמשת כדי לאפשר עריכה של טקסט בשורה אחת.

דוגמא:

ייבא javax.swing. * דוגמה למחלקה ציבורית {public static void main (String args []) {JFrame a = new JFrame ('example') JTextField b = JTextField new ('edureka') b.setBounds (50,100,200,30) a . להוסיף (b) a.setSize (300,300) a.setLayout (null) a.setVisible (true)}}

תְפוּקָה:

מחלקת JScrollBar

הוא משמש להוספת סרגל גלילה, אופקי וגם אנכי.

דוגמא:

יבוא javax.swing. * דוגמה למחלקה {דוגמה () {JFrame a = חדש JFrame ('דוגמה') JScrollBar b = JScrollBar חדש () b.setBounds (90,90,40,90) a.add (b) a. setSize (300,300) a.setLayout (null) a.setVisible (true)} סטטי ציבורי ריק ריק (מחרוזת טוענת []) {דוגמה חדשה ()}}

תְפוּקָה:

מחלקת JPanel

זה יורש את מחלקת JComponent ומספק מקום ליישום שיכול לצרף כל רכיב אחר.

ייבא java.awt. * ייבא javax.swing. * מחלקה ציבורית דוגמא {דוגמה () {JFrame a = JFrame חדש ('דוגמה') JPanel p = JPanel חדש () p.setBounds (40,70,200,200) JButton b = JButton חדש ('לחץ עלי') b.setBounds (60,50,80,40) p.add (b) a.add (p) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} ציבורי סטטי ריק ריק (מחרוזת טוענת []) {דוגמה חדשה ()}}

תְפוּקָה:

ג'מנו קלאס ס

זה יורש את מחלקת JMenuItem, והוא רכיב תפריט נפתח שמוצג משורת התפריטים.

ייבא javax.swing. * מחלקה דוגמא {תפריט JMenu JMenuItem a1, a2 דוגמה () {JFrame a = חדש JFrame ('דוגמה') תפריט = JMenu חדש ('אפשרויות') JMenuBar m1 = JMenuBar חדש () a1 = JMenuItem חדש ( 'דוגמה') a2 = חדש JMenuItem ('דוגמא 1') menu.add (a1) menu.add (a2) m1.add (תפריט) a.setJMenuBar (m1) a.setSize (400,400) a.setLayout (null) a .setVisible (true)} ראשי ריק סטטי ציבורי (טענות מחרוזת []) {דוגמה חדשה ()}}

תְפוּקָה:

מחלקת JList

זה יורש מחלקה JComponent, האובייקט של המחלקה JList מייצג רשימה של פריטי טקסט.

העלאת מספר לכוח בג'אווה
ייבא javax.swing. * מחלקה ציבורית דוגמא {דוגמה () {JFrame a = חדש JFrame ('דוגמה') DefaultListModel l = חדש DefaultListModel () l.addElement ('פריט ראשון') l.addElement ('פריט שני') JList b = JList חדש (l) b.setBounds (100,100,75,75) a.add (b) a.setSize (400,400) a.setVisible (true) a.setLayout (null)} ריק סטטי ציבורי ראשי (String args [ ]) {דוגמא חדשה ()}}

תְפוּקָה:

כיתת JLabel

הוא משמש להצבת טקסט במיכל. זה גם יורש את מחלקת JComponent.

ייבא javax.swing. * מחלקה ציבורית דוגמא {ציבורי ריק סטטי ראשי (טענות מחרוזת []) {JFrame a = JFrame חדש ('דוגמה') JLabel b1 b1 = JLabel חדש ('edureka') b1.setBounds (40,40, 90,20) a.add (b1) a.setSize (400,400) a.setLayout (null) a.setVisible (true)}}

תְפוּקָה:

מחלקת JComboBox

זה יורש את מחלקת JComponent ומשמש להצגת תפריט קופץ לבחירה.

ייבא javax.swing. * מחלקה ציבורית דוגמה {JFrame דוגמא () {a = JFrame חדש ('דוגמה') קורסים מחרוזת [] = {'core Java', 'Java מראש', 'java servlet'} JComboBox c = new JComboBox (קורסים) c.setBounds (40,40,90,20) a.add (c) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} ריק סטטי ציבורי ראשי (טענות String [] ) {דוגמא חדשה ()}}

תְפוּקָה:

מנהל פריסות

כדי לסדר את הרכיבים בתוך מיכל אנו משתמשים במנהל הפריסה. להלן מספר מנהלי פריסה:

  1. פריסת הגבול

  2. פריסת זרימה

  3. פריסת GridBag

    מיין אלגוריתמים c ++

פריסת גבול

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

פריסת זרימה

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

פריסת GridBag

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

דוגמה: מסגרת צ'אט

ייבא javax.swing. * ייבא java.awt. * מחלקה דוגמה {public static void main (String args []) {JFrame frame = new JFrame ('Chat Frame') frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setSize (400 , 400) JMenuBar ob = new JMenuBar () JMenu ob1 = JMenu new ('FILE') JMenu ob2 = JMenu new ('עזרה') ob.add (ob1) ob.add (ob2) JMenuItem m11 = JMenuItem חדש ('פתוח ') JMenuItem m22 = JMenuItem חדש (' שמירה כ ') ob1.add (m11) ob1.add (m22) פאנל JPanel = JPanel חדש () // הפאנל לא נראה בפלט JLabel label = new JLabel (' Enter Text ') JTextField tf = JTextField חדש (10) // מקבל עד 10 תווים JButton send = JButton חדש (' Send ') JButton reset = JButton new (' Reset ') panel.add (label) // רכיבים שנוספו באמצעות חלונית פריסת זרימה .add (תווית) // רכיבים שנוספו באמצעות חלונית פריסת Flow.add (tf) panel.add (send) panel.add (reset) JTextArea ta = new JTextArea () frame.getContentPane (). add (BorderLayout.SOUTH, panel frame.getContentPane (). להוסיף (BorderLayout.NORTH, tf) frame.getContentPane (). להוסיף (Border Layout.CENTER, ta) frame.setVisible (true)}}

זוהי דוגמה פשוטה ליצירת GUI באמצעות swing ב- Java.

במאמר זה דנו בתנופה בג'אווה ובהיררכיה של שיעורי התנופה בג'אווה. עם כל הרכיבים שמגיעים עם התנופה ב- Java, קל יותר לבנות יישומי GUI מותאמים. שפת התכנות ג'אווה היא שפת תכנות מובנית ועם הביקוש הגובר הופך להיות חשוב ביותר לשלוט בכל המושגים . כדי להתחיל את הלמידה שלך ולהיות מומחה בתכנות ג'אווה, הירשם ל- Edureka's .

יש לך שאלה עבורנו? אנא הזכיר זאת במדור התגובות במאמר זה 'Swing In Java' ונחזור אליך בהקדם האפשרי.