Ինչպես պատրաստել GUI ցանց Java- ում (նկարներով)

Բովանդակություն:

Ինչպես պատրաստել GUI ցանց Java- ում (նկարներով)
Ինչպես պատրաստել GUI ցանց Java- ում (նկարներով)

Video: Ինչպես պատրաստել GUI ցանց Java- ում (նկարներով)

Video: Ինչպես պատրաստել GUI ցանց Java- ում (նկարներով)
Video: DeepFloyd IF By Stability AI - Is It Stable Diffusion XL or Version 3? We Review and Show How To Use 2024, Մայիս
Anonim

Grid- ն այս փուլում առանձնահատուկ ոչինչ չի անում, բայց մի փոքր հետազոտելով ՝ կարող եք ավելացնել ունկնդիրներ և մի փոքր տրամաբանություն ՝ պարզ 2D խաղ ստեղծելու համար, ինչպիսին է tic-tac-toe- ը կամ ավելի բարդերը, ինչպիսիք են Battleship- ը:

Նշում. Այս հոդվածը օգտագործում է Eclipse- ը բոլոր օրինակների համար, այնպես որ ամեն ինչ կարող է տարբեր լինել `կախված ձեր IDE- ից: Սա պետք է շատ նման լինի նրան, ինչ ձեզ հարկավոր կլինի JCreator- ում, բայց դա բավականին անօգուտ է GUI- ի վրա հիմնված IDE- ի համար, ինչպիսին է NetBeans- ը, հիմնականում NetBeans- ի քաշել և թողնելու մեթոդի պատճառով:

Քայլեր

Ստեղծեք GUI ցանց Java- ում: Քայլ 1
Ստեղծեք GUI ցանց Java- ում: Քայլ 1

Քայլ 1. Ստեղծեք Java նախագիծ:

Սա բավականին պարզ է: Միացրեք ձեր IDE- ն և ստեղծեք նոր նախագիծ: Անվանեք այն, ինչ ցանկանում եք: Օրինակը կլինի կոշտ:

Այս անունը իրականում ընդհանրապես նշանակություն չունի, քանի որ այն պարզապես ֆայլի անունն է, որը կտրվի:

Ստեղծեք GUI ցանց Java- ում: Քայլ 2
Ստեղծեք GUI ցանց Java- ում: Քայլ 2

Քայլ 2. Ստեղծեք Java դասարան հիմնական մեթոդով:

Ստեղծեք նոր դասարան և անվանեք այն, ինչ ցանկանում եք: Օրինակը կլինի կոշտ: Eclipse- ի օգտվողի համար կցանկանայիք սեղմել public static void main (տող 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. Ստեղծեք կոնստրուկտոր:

Կոնստրուկտորը ստեղծում է հետին ցանցի դասի նոր օրինակ, որը թույլ է տալիս բազմաթիվ տարբեր կոճակների ցանցեր ունենալ առանձին տեղեկատվություն: Բոլոր կոնստրուկտորներին անհրաժեշտ է անվանել նույնը, ինչ իրենց դասին: Կոնստրուկտորներին մինչ այդ ոչինչ պետք չէ, բայց հաճախ «հանրայինը» տեղադրվում է այնտեղ `հղում կատարելու համար: Կոնստրուկտորները հաճախ դասվում են որպես դասի առաջին մեթոդ, ուստի այն անցնում է դասի անունից անմիջապես հետո, այն, այնուամենայնիվ, պետք է տեղադրվի դասարանում: The 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. Շրջանակը համապատասխան չափի դարձնելու համար, որպեսզի ամեն ինչ համապատասխանի մեզ, մենք պետք է գործարկենք pack հրամանը ՝ frame.pack ();
  5. Վերջապես, շրջանակի համար մենք պետք է այն դարձնենք այնպես, որ այն տեսանելի լինի. Frame.setVisible (true);

    Ստեղծեք GUI ցանց Java- ում: Քայլ 6
    Ստեղծեք GUI ցանց Java- ում: Քայլ 6

    Քայլ 6. Ստեղծեք կոճակների ցանց

    1. Կոճակները, որոնցով օգտվողը փոխազդում է, պետք է պատրաստվեն, բայց քանի որ մենք չգիտենք, թե քանիսն ենք մեզ պետք, դրանք առաջին հերթին պետք է անվանվեն: Այսպիսով, շրջանակի ստեղծման գծից անմիջապես ներքև ստեղծեք կոճակները. JButton grid; Քառակուսի փակագծերի երկու հավաքածու կա `ասելու, որ JButton- ի ցանցը պահվում է երկչափ ձևաչափով, եթե լիներ քառակուսի փակագծերի միայն մեկ հավաքածու, ապա դա պարզապես JButton- ի տող կլիներ, որը դեռ աշխատում է, պարզապես ավելի հեշտ է անդրադառնալ, թե որ կոճակը ստեղծվում կամ փոխազդում է, երբ այն երկչափ է:
    2. JButton- ի անուններն անվանվել են, բայց դեռ պետք է ասել, թե քանի կոճակ կա: Կոնստրուկտորում պետք է ավելացնել կոդի տող, որը սահմանում է գումարը. Grid = new JButton [width] [length];
    3. Այժմ, երբ որոշվել է, որ կլինեն որոշակի քանակությամբ կոճակներ, յուրաքանչյուրը պետք է ստեղծվի: Դա անելու ամենահեշտ ձևը երկուսն են ՝ օղակների համար, մեկը ՝ x առանցքի, մեկը ՝ y առանցքի: Երկու օղակի ներսում մենք նոր կոճակ ենք պատրաստում, և հղման հեշտության համար օրինակը տեքստ է դնում յուրաքանչյուր կոճակի ներսում, որպեսզի իմանանք, թե երկչափ զանգվածի որ կոճակն է որտեղ: Կոճակ ստեղծելու համար հանգույցի ներսում պետք է տեղադրել ցանց [x] [y] = new JButton ("("+x+","+y+")");

      Ստեղծեք GUI ցանց Java- ում: Քայլ 7
      Ստեղծեք GUI ցանց Java- ում: Քայլ 7

      Քայլ 7. Շրջանակին ավելացրեք կոճակներ:

      Օղակի ներսում մենք պետք է կոճակները դնենք շրջանակի վրա ՝ պարզ հրամանով. Frame.add (ցանց [x] [y]);

      Ստեղծեք GUI ցանց Java- ում: Քայլ 8
      Ստեղծեք GUI ցանց Java- ում: Քայլ 8

      Քայլ 8. Կատարեք ButtonGrid Instance:

      Ձեր հիմնական դասի տեսակը ՝ նոր ButtonGrid (3, 3); Երկու երեքը կազմում են 3 -ից 3 ցանց, և ցանկացած երկու դրական թիվ կարելի է տեղադրել այնտեղ:

      Ստեղծեք GUI ցանց Java- ում: Քայլ 9
      Ստեղծեք GUI ցանց Java- ում: Քայլ 9

      Քայլ 9. Գործարկել ծրագիրը:

      Խավարում կատարելու համար սեղմեք Ctrl+F11

      Մեթոդ 1 -ից 1 -ը ՝ Քայլերի ծածկագիր

      Հիմնական դասարան

      հանրային դաս ButtonGrid {public 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 (); հանրային ButtonGrid (int լայնություն, int երկարություն) {frame.setLayout (նոր GridLayout (լայնություն, երկարություն)); frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (ճշմարիտ); }}…

      Կոճակի ցանցի կոդ:

      | JFrame շրջանակ = նոր JFrame (); // ստեղծում է շրջանակ JButton ցանց; // անվանում է կոճակների ցանցը հանրային ButtonGrid (int լայնություն, int երկարություն) {// կոնստրուկտոր 2 պարամետրով frame.setLayout (նոր GridLayout (լայնություն, երկարություն)); // սահմանել շրջանակի ցանցի դասավորությունը = նոր JButton [լայնություն] [երկարություն]; // հատկացնել ցանցի չափը (int y = 0; y <երկարություն; y ++) {for (int x = 0; x <width; x ++) {grid [x] [y] = new JButton ("("+ x+","+y+")"); շրջանակ. ավելացնել (ցանց [x] [y]); // ավելացնում է կոճակը ցանցին}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (ճշմարիտ); }…

      Կոճակներ ավելացնել շրջանակին

      համար (int y = 0; y <երկարություն; y ++) {for (int x = 0; x <width; x ++) {grid [x] [y] = new JButton ("("+x+","+y+") "); շրջանակ. ավելացնել (ցանց [x] [y]); }}…

      Կոճակների ցանցի օրինակ պատրաստելը

      public 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 ցանց; // անվանում է կոճակների ցանցը հանրային ButtonGrid (int լայնություն, int երկարություն) {// constructor frame.setLayout (նոր GridLayout (լայնություն, երկարություն)); // սահմանել դասավորության ցանց = նոր JButton [լայնություն] [երկարություն]; // հատկացնել ցանցի չափը (int y = 0; y <երկարություն; y ++) {համար (int x = 0; x <լայնություն; x ++) {grid [x] [y] = new JButton ("("+ x+","+y+")"); // ստեղծում է նոր կոճակ frame.add (ցանց [x] [y]); // ավելացնում է կոճակը ցանցին}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // սահմանում է համապատասխան չափը շրջանակի շրջանակի համար: setVisible (ճշմարիտ); // տեսանելի է դարձնում շրջանակը} public 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 ցանց; // անվանում է կոճակների ցանցը

      հանրային ButtonGrid (int լայնություն, int երկարություն) {// կոնստրուկտոր frame.setLayout (նոր GridLayout (լայնություն, երկարություն)); // սահմանել դասավորության ցանց = նոր JButton [լայնություն] [երկարություն]; // հատկացնել ցանցի չափը (int y = 0; y <երկարություն; 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 (); // սահմանում է համապատասխան չափը շրջանակի շրջանակի համար: setVisible (ճշմարիտ); // տեսանելի է դարձնում շրջանակը} public static void main (String args) {new ButtonGrid (3, 3); // դարձնում է նոր ButtonGrid 2 պարամետրով}

Խորհուրդ ենք տալիս: