כיצד להכין רשת GUI ב- Java (עם תמונות)

תוכן עניינים:

כיצד להכין רשת GUI ב- Java (עם תמונות)
כיצד להכין רשת GUI ב- Java (עם תמונות)

וִידֵאוֹ: כיצד להכין רשת GUI ב- Java (עם תמונות)

וִידֵאוֹ: כיצד להכין רשת GUI ב- Java (עם תמונות)
וִידֵאוֹ: How to use a Paintbrush - Creatively - PaulPriestleyArt 2024, מאי
Anonim

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

הערה: מאמר זה משתמש ב- Eclipse עבור כל הדוגמאות כך שהדברים עשויים להיות שונים בהתאם ל- IDE שלך. זה אמור להיות דומה מאוד למה שתזדקק לו ב- JCreator, אבל זה די חסר תועלת עבור IDE מבוסס GUI כמו NetBeans, בעיקר בגלל שיטת הגרירה והשחרור של NetBeans.

צעדים

צור רשת GUI ב- Java שלב 1
צור רשת GUI ב- Java שלב 1

שלב 1. צור פרויקט Java

זה די פשוט. הפעל את IDE שלך וצור פרויקט חדש. תקרא לזה איך שאתה רוצה. הדוגמה תהיה buttongrid.

שם זה לא ממש משנה כלל מכיוון שהוא רק שם הקובץ שיינתן לו

צור רשת GUI ב- Java שלב 2
צור רשת GUI ב- Java שלב 2

שלב 2. צור מחלקת Java בשיטה עיקרית

צור כיתה חדשה וקרא לה מה שאתה רוצה. הדוגמה תהיה buttongrid. עבור משתמש Eclipse תרצה לסמן את התיבה שנקראת public static void main (string args), כך שלא תצטרך להקליד אותה כשתתחיל.

שם זה חשוב יותר מהקודם מכיוון שהוא יצטרך להיות כמילה אחת, אחרת הוא לא יהיה שמיש

צור רשת GUI ב- Java שלב 3
צור רשת GUI ב- Java שלב 3

שלב 3. ייבוא ספריות

זה מביא את כל המידע הדרוש לך בכדי לכתוב את הקוד שלך לקוד זה. יהיה עליך לייבא javax.swing. JFrame, javax.swing. JButton ו- java.awt. Gridlayout. אלה מוצבים לפני תחילת השיעור, אי שם בקווים שבין 1 ל -3, הסדר שהם נמצאים בו לא משנה.

צור רשת GUI ב- Java שלב 4
צור רשת GUI ב- Java שלב 4

שלב 4. צור קונסטרוקטור

הקונסטרוקטור יוצר מופע חדש ממעמד ה- buttongrid המאפשר לרשתות כפתורים רבות ושונות לכל מידע נפרד. כל הבנאים צריכים להיות זהים למחלקה שלהם. בונים אינם זקוקים לשום דבר לפניו, אך לעתים קרובות 'ציבוריים' מוצבים שם לשם נוחות ההתייחסות. בונים ממוקמים לעתים קרובות כשיטה הראשונה בכיתה, כך שהיא הולכת מיד אחרי שם הכיתה, אולם היא חייבת להיות ממוקמת בתוך הכיתה. הקונסטרוקטור של ה- buttongrid זקוק לפרמטרים, המוכנסים בסוגריים לאחר שמו של הבונה. הפרמטרים בדוגמה זו הם מספרים שלמים 'x' ו- 'y'.

צור רשת GUI ב- Java שלב 5
צור רשת GUI ב- Java שלב 5

שלב 5. צור מסגרת:

  1. יש למסור את המסגרת. כדי לוודא שאפשר להתייחס אליה מחוץ לשיטת הבונה של ButtonGrid אתה מציב אותה בצד השיטה הזו, אך בתוך הכיתה. רוב המשתנים נקראים בראש הכיתה ממש לפני הקונסטרוקטור. כדי ליצור מסגרת חדשה הקלד: JFrame frame = new JFrame ();
  2. בתוך שיטת הקונסטרוקטור עלינו לוודא שכל הלחצנים מוכנסים לפריסת הרשת. לשם כך הגדרנו את פריסת המסגרת על ידי הקלדה: frame.setLayout (חדש GridLayout (x, y));
  3. לא בהכרח חובה, אבל כדי לסגור את המסגרת כאשר אתה לוחץ על כפתור 'x' בפינה הימנית העליונה עלינו להוסיף את השורה: frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE);
  4. כדי להפוך את המסגרת לגודל מתאים כך שהכל יתאים עלינו להריץ את פקודת החבילה: frame.pack ();
  5. לבסוף עבור הפריים עלינו להפוך אותו כך שיהיה גלוי: frame.setVisible (true);

    צור רשת GUI ב- Java שלב 6
    צור רשת GUI ב- Java שלב 6

    שלב 6. צור רשת כפתורים:

    1. הכפתורים שהמשתמש יוצר איתם אינטראקציה חייבים להיעשות, אך מכיוון שאיננו יודעים כמה אנו זקוקים להם, יש לקרוא להם קודם. אז ממש מתחת לקו שבו אתה יוצר מסגרת צור את הכפתורים: JButton רשת; שתי קבוצות הסוגריים המרובעים שם כדי לומר שה- JButton ברשת נשמרות בפורמט דו-ממדי, אם הייתה רק קבוצה אחת של סוגריים מרובעים אז זה פשוט יהיה שורה של JButton, וזה עדיין עובד, זה פשוט קל יותר להתייחס לאיזה כפתור נוצר או יוצר איתו אינטראקציה כאשר הוא דו ממדי.
    2. שמות ה- JButton נקראו, אך עדיין עלינו לומר כמה כפתורים יש. עליך להוסיף שורת קוד בבנאי הקובע את הסכום: grid = new JButton [width] [length];
    3. כעת, לאחר שנקבע כי יהיו מספר לחצנים מסוים, יש ליצור כל אחד מהם. הדרך הקלה ביותר לעשות זאת היא עם שתיים עבור לולאות, אחת עבור ציר ה- x, אחת עבור ציר ה- y. בתוך שתי הלולאות אנו יוצרים כפתור חדש, ולקלות ההתייחסות הדוגמה מכניסה טקסט לכל כפתור כך שנדע איזה כפתור במערך הדו-ממדי נמצא היכן. כדי ליצור כפתור, בתוך הלולאה אתה צריך לשים רשת [x] [y] = JButton חדש ("("+x+","+y+")");

      צור רשת GUI ב- Java שלב 7
      צור רשת GUI ב- Java שלב 7

      שלב 7. הוסף כפתורים למסגרת

      בתוך הלולאה עלינו לשים את הכפתורים על המסגרת באמצעות פקודה פשוטה: frame.add (רשת [x] [y]);

      צור רשת GUI ב- Java שלב 8
      צור רשת GUI ב- Java שלב 8

      שלב 8. הפוך את ButtonGrid למופע

      בסוג המעמד הראשי שלך: ButtonGrid חדש (3, 3); שתי השלשות יוצרות רשת של 3 על 3, ואפשר להכניס שם כל שני מספרים חיוביים.

      צור רשת GUI ב- Java שלב 9
      צור רשת GUI ב- Java שלב 9

      שלב 9. הפעל את התוכנית

      כדי לעשות זאת בליקוי, הקש Ctrl+F11

      שיטה 1 מתוך 1: קוד השלבים

      המעמד העיקרי:

      מעמד ציבורי ButtonGrid {main static void main (String args) {}}

      יבוא:

      יבוא javax.swing. JFrame; יבוא javax.swing. JButton; יבוא java.awt. GridLayout; מעמד ציבורי ButtonGrid {…

      קוד בונה:

      מעמד ציבורי ButtonGrid {public ButtonGrid (רוחב int, אורך int) {}} …

      קוד מסגרת:

      מעמד ציבורי ButtonGrid {JFrame frame = new Jframe (); public ButtonGrid (int width, int length) {frame.setLayout (חדש GridLayout (רוחב, אורך)); frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (נכון); }}…

      קוד רשת כפתור:

      | מסגרת JFrame = JFrame חדש (); // יוצר מסגרת JButton רשת; // נותן שמות לרשת הכפתורים הציבורית ButtonGrid (int width, int length) {// קונסטרוקטור עם 2 פרמטרים frame.setLayout (GridLayout חדש (רוחב, אורך)); // פריסת סט של רשת מסגרות = JButton [רוחב] [אורך] חדש; // הקצה את גודל הרשת עבור (int y = 0; y <length; y ++) {for (int x = 0; x <width; x ++) {grid [x] [y] = new JButton ("("+ x+","+y+")"); frame.add (רשת [x] [y]); // מוסיף כפתור לרשת}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (נכון); }…

      הוספת לחצנים למסגרת:

      for (int y = 0; y <length; y ++) {for (int x = 0; x <width; x ++) {grid [x] [y] = JButton חדש ("("+x+","+y+") "); frame.add (רשת [x] [y]); }}…

      יצירת מופע של רשת כפתורים:

      main static void main (String args) {new ButtonGrid (3, 3); // מייצר ButtonGrid חדש עם 2 פרמטרים} …

      קוד סופי:

      יבוא javax.swing. JFrame; // ייבוא ספריית JFrame יבוא javax.swing. JButton; // יבוא ספריית JButton יבוא java.awt. GridLayout; // מייבא את ספריית GridLayout בכיתה ציבורית ButtonGrid {JFrame frame = new JFrame (); // יוצר מסגרת JButton רשת; // נותן שמות לרשת הכפתורים Public ButtonGrid (int width, int length) {// constructor frame.setLayout (חדש GridLayout (רוחב, אורך)); // רשת פריסה מוגדרת = JButton [רוחב] [אורך] חדש; // הקצה את גודל הרשת עבור (int y = 0; y <length; y ++) {for (int x = 0; x <width; x ++) {grid [x] [y] = new JButton ("("+ x+","+y+")"); // יוצר מסגרת כפתור חדשה. add (רשת [x] [y]); // מוסיף כפתור לרשת}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // מגדיר גודל מתאים למסגרת frame.setVisible (true); // הופך את המסגרת לגלויה} main static void main (String args) {new ButtonGrid (3, 3); // עושה ButtonGrid חדש עם 2 פרמטרים}}

      יבוא javax.swing. JFrame; // ייבוא ספריית JFrame יבוא javax.swing. JButton; // יבוא ספריית JButton יבוא java.awt. GridLayout; // מייבא את ספריית GridLayout

      מעמד ציבורי ButtonGrid {

      מסגרת JFrame = JFrame חדש (); // יוצר מסגרת JButton רשת; // מכנה את רשת הכפתורים

      public ButtonGrid (int width, int length) {// constructor frame.setLayout (חדש GridLayout (רוחב, אורך)); // רשת פריסה מוגדרת = JButton [רוחב] [אורך] חדש; // הקצה את גודל הרשת עבור (int y = 0; y <length; y ++) {for (int x = 0; x <width; x ++) {grid [x] [y] = new JButton ("("+ x+","+y+")"); // יוצר מסגרת כפתורים חדשה. add (רשת [x] [y]); // מוסיף כפתור לרשת}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // מגדיר גודל מתאים למסגרת frame.setVisible (true); // הופך את המסגרת לגלויה} main static void main (String args) {new ButtonGrid (3, 3); // עושה ButtonGrid חדש עם 2 פרמטרים}

מוּמלָץ: