Kaip sukurti GUI tinklelį „Java“(su paveikslėliais)

Turinys:

Kaip sukurti GUI tinklelį „Java“(su paveikslėliais)
Kaip sukurti GUI tinklelį „Java“(su paveikslėliais)

Video: Kaip sukurti GUI tinklelį „Java“(su paveikslėliais)

Video: Kaip sukurti GUI tinklelį „Java“(su paveikslėliais)
Video: Inkscape Custom Brushes: How to Make and Use Brush Sets Tutorial 2024, Gegužė
Anonim

„Grid“šiame etape nieko ypatingo nedaro, tačiau šiek tiek ištyrę galite pridėti veiksmo klausytojų ir šiek tiek logikos, kad sukurtumėte paprastą 2D žaidimą, pvz., „Tic-tac-toe“, arba sudėtingesnius, tokius kaip „Battleship“.

Pastaba: Šiame straipsnyje visiems pavyzdžiams naudojama „Eclipse“, todėl viskas gali skirtis priklausomai nuo jūsų IDE. Tai turėtų būti labai panašu į tai, ko jums reikės „JCreator“, tačiau tai gana nenaudinga GUI pagrįstam IDE, pvz., „NetBeans“, daugiausia dėl „NetBeans“vilkimo ir nuleidimo metodo.

Žingsniai

Sukurkite GUI tinklelį „Java“1 veiksme
Sukurkite GUI tinklelį „Java“1 veiksme

Žingsnis 1. Sukurkite „Java“projektą

Tai gana paprasta. Įjunkite IDE ir sukurkite naują projektą. Vadink kaip nori. Pavyzdys bus buttongrid.

Šis vardas visiškai nesvarbus, nes jis bus suteiktas tik failo pavadinimu

Sukurkite GUI tinklelį „Java“2 veiksme
Sukurkite GUI tinklelį „Java“2 veiksme

Žingsnis 2. Sukurkite „Java“klasę naudodami pagrindinį metodą

Sukurkite naują klasę ir pavadinkite ją norimu. Pavyzdys bus buttongrid. „Eclipse“vartotojui norėsite pažymėti langelį, vadinamą public static void main (string args), todėl pradėdami jo nereikės įvesti.

Šis vardas yra svarbesnis už ankstesnį, nes jis turės būti kaip vienas žodis, kitaip jis nebus naudojamas

Sukurkite GUI tinklelį „Java“3 veiksme
Sukurkite GUI tinklelį „Java“3 veiksme

3 veiksmas. Importuokite bibliotekas

Į šį kodą įeina visa informacija, kurios jums reikės norint parašyti kodą. Turėsite importuoti javax.swing. JFrame, javax.swing. JButton ir java.awt. Gridlayout. Jie pateikiami prieš pamokos pradžią, kažkur ties eilutėmis nuo 1 iki 3, jų eilės tvarka nesvarbi.

Sukurkite GUI tinklelį „Java“4 veiksme
Sukurkite GUI tinklelį „Java“4 veiksme

Žingsnis 4. Sukurkite konstruktorių

Konstruktorius sukuria naują buttongrid klasės egzempliorių, leidžiantį daugeliui skirtingų mygtukų tinklelių turėti atskirą informaciją. Visi konstruktoriai turi būti pavadinti taip pat, kaip ir jų klasė. Konstruktoriams nieko nereikia prieš tai, tačiau dažnai pateikiama „vieša“, kad būtų lengviau susipažinti. Konstruktoriai dažnai pateikiami kaip pirmasis klasės metodas, todėl jis eina iškart po klasės pavadinimo, tačiau jis turi būti klasėje. „Buttongrid“konstruktoriui reikia parametrų, kurie pateikiami skliausteliuose po konstruktoriaus pavadinimo. Šio pavyzdžio parametrai yra sveikieji skaičiai „x“ir „y“.

Sukurkite GUI tinklelį „Java“5 veiksme
Sukurkite GUI tinklelį „Java“5 veiksme

5 žingsnis. Sukurkite rėmelį:

  1. Rėmas turi būti pavadintas. Norėdami įsitikinti, kad į jį galima nurodyti ne „ButtonGrid“konstruktoriaus metodu, padėkite jį to metodo šone, bet klasėje. Dauguma kintamųjų yra pavadinti klasės viršuje prieš konstruktorių. Norėdami sukurti naują rėmelį, įveskite: JFrame frame = new JFrame ();
  2. Konstruktoriaus metodo viduje turime įsitikinti, kad visi mygtukai yra išdėstyti tinklelio išdėstyme. Norėdami tai padaryti, nustatome rėmelio išdėstymą įvesdami: frame.setLayout (new GridLayout (x, y));
  3. Nebūtinai privaloma, bet kad rėmas būtų uždarytas, kai paspausite mygtuką „x“viršutiniame dešiniajame kampe, turime pridėti eilutę: frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE);
  4. Kad rėmas būtų tinkamo dydžio, kad viskas tilptų, turime paleisti komandą pack: frame.pack ();
  5. Galiausiai, kad rėmelis būtų toks, kad jis būtų matomas: frame.setVisible (true);

    Sukurkite GUI tinklelį „Java“6 veiksme
    Sukurkite GUI tinklelį „Java“6 veiksme

    Žingsnis 6. Sukurkite mygtukų tinklelį:

    1. Mygtukai, su kuriais naudotojas sąveikauja, turi būti pagaminti, tačiau kadangi nežinome, kiek jų reikia, pirmiausia juos reikia įvardyti. Taigi tiesiai po linija, kurioje kuriate rėmelį, sukurkite mygtukus: JButton tinklelis; Du kvadratinių skliaustų rinkiniai yra skirti pasakyti, kad tinklelyje esantys „JButton“laikomi dvimatiu formatu, jei būtų tik vienas kvadratinių skliaustų rinkinys, tai būtų tiesiog „JButton“eilutė, kuri vis dar veikia, tai tiesiog lengviau nurodyti, kuris mygtukas kuriamas ar su kuriuo sąveikaujama, kai jis yra dvimatis.
    2. „JButton“buvo pavadinti, tačiau vis tiek turime pasakyti, kiek mygtukų yra. Konstruktoriuje reikia pridėti kodo eilutę, kuri nustato sumą: tinklelis = naujas JButton [plotis] [ilgis];
    3. Dabar, kai buvo nustatyta, kad bus tam tikras mygtukų skaičius, kiekvienas iš jų turi būti sukurtas. Lengviausias būdas tai padaryti naudojant dvi kilpas, vieną x ašiai, vieną y ašiai. Dviejų kilpų viduje sukuriame naują mygtuką, o kad būtų lengviau susipažinti, pavyzdys įdeda tekstą į kiekvieno mygtuko vidų, kad žinotume, kuris dvimatės masyvo mygtukas yra. Norėdami sukurti mygtuką, kilpos viduje turite įdėti tinklelį [x] [y] = naujas JButton ("("+x+","+y+")");

      Sukurkite GUI tinklelį „Java“7 veiksme
      Sukurkite GUI tinklelį „Java“7 veiksme

      Žingsnis 7. Pridėkite mygtukus prie rėmo

      Kilpos viduje mes turime uždėti mygtukus ant rėmo paprasta komanda: frame.add (grid [x] [y]);

      Sukurkite GUI tinklelį „Java“8 veiksme
      Sukurkite GUI tinklelį „Java“8 veiksme

      8. Padarykite „ButtonGrid“egzempliorių

      Jūsų pagrindinės klasės tipas: naujas „ButtonGrid“(3, 3); Du trejetai sudaro 3x3 tinklelį, ir ten galima įvesti bet kokius du teigiamus skaičius.

      Sukurkite GUI tinklelį „Java“9 veiksme
      Sukurkite GUI tinklelį „Java“9 veiksme

      Žingsnis 9. Paleiskite programą

      Norėdami tai padaryti užtemimo metu, paspauskite Ctrl+F11

      1 metodas iš 1: žingsnių kodas

      Pagrindinė klasė:

      public class ButtonGrid {public static void main (String args) {}}

      Importas:

      importuoti javax.swing. JFrame; importuoti javax.swing. JButton; importuoti java.awt. GridLayout; viešosios klasės „ButtonGrid“{…

      Konstruktoriaus kodas:

      public class ButtonGrid {public ButtonGrid (int plotis, int ilgis) {}}…

      Rėmelio kodas:

      public class ButtonGrid {JFrame frame = naujas Jframe (); public ButtonGrid (int plotis, int ilgis) {frame.setLayout (naujas GridLayout (plotis, ilgis)); frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (true); }}…

      Mygtuko tinklelio kodas:

      | JFrame kadras = naujas JFrame (); // sukuria rėmelį JButton tinklelis; // įvardija mygtukų tinklelį viešai ButtonGrid (int plotis, int ilgis) {// konstruktorius su 2 parametrais frame.setLayout (naujas GridLayout (plotis, ilgis)); // nustatyti rėmo tinklelio išdėstymą = naujas JButton [plotis] [ilgis]; // skirti tinklelio dydį (int y = 0; y <ilgis; y ++) {for (int x = 0; x <plotis; x ++) {tinklelis [x] [y] = naujas JButton ("("+ x+","+y+")"); frame.add (tinklelis [x] [y]); // prideda mygtuką prie tinklelio}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (true); }…

      Mygtukų pridėjimas prie rėmo:

      for (int y = 0; y <ilgis; y ++) {for (int x = 0; x <plotis; x ++) {grid [x] [y] = new JButton ("("+x+","+y+") "); frame.add (tinklelis [x] [y]); }}…

      Sukurkite mygtukų tinklelio pavyzdį:

      public static void main (String args) {new ButtonGrid (3, 3); // sukuria naują ButtonGrid su 2 parametrais}…

      Galutinis kodas:

      importuoti javax.swing. JFrame; // importuoja JFrame biblioteką importuoti javax.swing. JButton; // importuoja JButton biblioteką importuoti java.awt. GridLayout; // importuoja GridLayout bibliotekos viešąją klasę ButtonGrid {JFrame frame = new JFrame (); // sukuria rėmelį JButton tinklelis; // įvardija mygtukų tinklelį viešai ButtonGrid (int plotis, int ilgis) {// konstruktorius frame.setLayout (naujas GridLayout (plotis, ilgis)); // nustatyti išdėstymo tinklelį = naujas JButton [plotis] [ilgis]; // skirti tinklelio dydį (int y = 0; y <ilgis; y ++) {for (int x = 0; x <plotis; x ++) {tinklelis [x] [y] = naujas JButton ("("+ x+","+y+")"); // sukuria naują mygtukų rėmelį.add (tinklelis [x] [y]); // prideda mygtuką prie tinklelio}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // nustato tinkamą rėmelio rėmo dydį.setVisible (true); // padaro rėmelį matomą} public static void main (String args) {new ButtonGrid (3, 3); // padaro naują ButtonGrid su 2 parametrais}}

      importuoti javax.swing. JFrame; // importuoja JFrame biblioteką importuoti javax.swing. JButton; // importuoja JButton biblioteką importuoti java.awt. GridLayout; // importuoja GridLayout biblioteką

      viešosios klasės „ButtonGrid“{

      JFrame kadras = naujas JFrame (); // sukuria rėmelį JButton tinklelis; // įvardija mygtukų tinklelį

      public ButtonGrid (int plotis, int ilgis) {// konstruktoriaus frame.setLayout (naujas GridLayout (plotis, ilgis)); // nustatyti išdėstymo tinklelį = naujas JButton [plotis] [ilgis]; // skirti tinklelio dydį (int y = 0; y <ilgis; y ++) {for (int x = 0; x <plotis; x ++) {tinklelis [x] [y] = naujas JButton ("("+ x+","+y+")"); // sukuria naują mygtukų rėmelį.add (tinklelis [x] [y]); // prideda mygtuką prie tinklelio}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // nustato tinkamą rėmelio rėmo dydį.setVisible (true); // padaro rėmelį matomą} public static void main (String args) {new ButtonGrid (3, 3); // padaro naują ButtonGrid su 2 parametrais}

Rekomenduojamas: