Kuidas teha Java -s graafilist graafikavõrku (koos piltidega)

Sisukord:

Kuidas teha Java -s graafilist graafikavõrku (koos piltidega)
Kuidas teha Java -s graafilist graafikavõrku (koos piltidega)

Video: Kuidas teha Java -s graafilist graafikavõrku (koos piltidega)

Video: Kuidas teha Java -s graafilist graafikavõrku (koos piltidega)
Video: Подготовка к путешествию путем упаковки большого количества багажа оригинальным способом 2024, Aprill
Anonim

Grid ei tee selles etapis midagi erilist, kuid väikese uurimistööga saate lisada tegevuskuulajaid ja natuke loogikat, et teha lihtne 2D-mäng nagu tic-tac-toe või keerukamad, näiteks Battleship.

Märkus. See artikkel kasutab kõigi näidete jaoks Eclipse'i, nii et asjad võivad sõltuvalt teie IDE -st erineda. See peaks olema väga sarnane sellega, mida vajate JCreatoris, kuid see on üsna kasutu GUI -põhisel IDE -l, nagu NetBeans, peamiselt NetBeansi lohistamismeetodi tõttu.

Sammud

Tehke Java -s GUI -võrk 1. samm
Tehke Java -s GUI -võrk 1. samm

Samm 1. Looge Java -projekt

See on üsna lihtne. Lülitage IDE sisse ja looge uus projekt. Nimetage seda kuidas iganes soovite. Näide on buttongrid.

See nimi pole tegelikult üldse oluline, kuna see antakse lihtsalt failinimega

Tehke Java -s GUI -võrk 2. samm
Tehke Java -s GUI -võrk 2. samm

Samm 2. Looge Java -klass põhimeetodiga

Looge uus klass ja pange sellele nimi, mida soovite. Näide on buttongrid. Eclipse'i kasutaja jaoks soovite märkida kasti nimega public static void main (string args), nii et te ei pea seda alustades tippima.

See nimi on olulisem kui eelmine, sest see peab olema ühe sõnaga, muidu pole see kasutatav

Tehke Java -s GUI -võrk 3. samm
Tehke Java -s GUI -võrk 3. samm

Samm 3. Impordi teegid

See toob kogu selle koodi kirjutamiseks vajaliku teabe. Peate importima javax.swing. JFrame, javax.swing. JButton ja java.awt. Gridlayout. Need pannakse enne tunni algust, kusagil ridadel 1 kuni 3, seal oleval järjekorral pole tähtsust.

Tehke Java -s GUI -võrk 4. samm
Tehke Java -s GUI -võrk 4. samm

Samm 4. Loo konstruktor

Konstruktor teeb buttongrid klassi uue eksemplari, mis võimaldab paljudel erinevatel nupuvõrkudel kõigil olla eraldi teavet. Kõik konstruktorid peavad olema oma klassiga samad. Konstruktorid ei vaja enne seda midagi, kuid viite hõlbustamiseks pannakse sinna sageli avalik. Konstruktorid paigutatakse sageli klassi esimeseks meetodiks, nii et see läheb kohe klassi nime järele, kuid see tuleb siiski paigutada klassi. Buttongrid konstruktor vajab parameetreid, mis pannakse sulgudes konstruktori nime järele. Selle näite parameetrid on täisarvud 'x' ja 'y'.

Tehke Java -s GUI -võrk 5. samm
Tehke Java -s GUI -võrk 5. samm

Samm 5. Raami loomine:

  1. Raam tuleb nimetada. Veendumaks, et sellele saab viidata väljaspool ButtonGrid konstruktorimeetodit, asetage see selle meetodi kõrvale, kuid klassi piiresse. Enamik muutujaid nimetatakse klassi ülaosas vahetult enne konstruktorit. Uue raami loomiseks sisestage: JFrame frame = new JFrame ();
  2. Konstruktorimeetodi sees peame veenduma, et kõik nupud on paigutatud ruudustikku. Selleks määrame raami paigutuse, tippides: frame.setLayout (uus GridLayout (x, y));
  3. See ei ole tingimata kohustuslik, kuid raami sulgemiseks, kui vajutate paremas ülanurgas nuppu „x”, peame lisama rea: frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE);
  4. Raami sobiva suuruse muutmiseks, nii et kõik sobib, peame käivitama paketi käsu: frame.pack ();
  5. Lõpuks peame raami jaoks selle nähtavaks muutma: frame.setVisible (true);

    Tehke Java -s GUI -võrk 6. samm
    Tehke Java -s GUI -võrk 6. samm

    Samm 6. Looge nuppude ruudustik:

    1. Nupud, millega kasutaja suhtleb, tuleb teha, kuid kuna me ei tea, kui palju neid vaja on, tuleb need kõigepealt nimetada. Nii et kohe selle rea all, kus raami loote, looge nupud: JButton grid; Kaks nurksulgude komplekti ütlevad, et ruudustiku J-nuppe hoitakse kahemõõtmelises vormingus, kui oleks ainult üks nurksulgude komplekt, oleks see lihtsalt JButtoni rida, mis töötab endiselt, see on lihtsalt hõlpsam viidata, millist nuppu luuakse või sellega suheldakse, kui see on kahemõõtmeline.
    2. JButtoni omad on nime saanud, kuid peame veel ütlema, kui palju nuppe on. Konstruktorisse tuleb lisada koodirida, mis määrab summa: grid = new JButton [laius] [pikkus];
    3. Nüüd, kui on kindlaks tehtud, et nuppe on teatud arv, tuleb need kõik luua. Lihtsaim viis seda teha on kaks silmuste jaoks, üks x-telje jaoks ja üks y-telje jaoks. Kahe ahela sees teeme uue nupu ja viitamise hõlbustamiseks paneb näide teksti iga nupu sisse, et saaksime teada, milline kahemõõtmelise massiivi nupp kus asub. Nupu loomiseks tuleb silmusesse panna ruudustik [x] [y] = new JButton ("("+x+","+y+")");

      Tehke Java -s GUI -võrk 7. samm
      Tehke Java -s GUI -võrk 7. samm

      Samm 7. Lisage raamile nupud

      Silmuse sees peame nupud raami külge panema lihtsa käsuga: frame.add (grid [x] [y]);

      Tehke Java -s GUI -võrk 8. samm
      Tehke Java -s GUI -võrk 8. samm

      Samm 8. Tehke ButtonGridi eksemplar

      Teie põhiklassi tüübis: uus ButtonGrid (3, 3); Kaks kolme moodustavad kolmekordse ruudustiku ja sinna saab sisestada mis tahes kaks positiivset numbrit.

      Tehke Java -s GUI -võrk 9. samm
      Tehke Java -s GUI -võrk 9. samm

      Samm 9. Käivitage programm

      Selleks, et seda varjutuses teha, vajutage klahvikombinatsiooni Ctrl+F11

      Meetod 1: 1: sammude kood

      Põhiklass:

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

      Import:

      import javax.swing. JFrame; import javax.swing. JButton; import java.awt. GridLayout; avaliku klassi ButtonGrid {…

      Konstruktori kood:

      public class ButtonGrid {public ButtonGrid (int laius, int pikkus) {}}…

      Raami kood:

      avalik klass ButtonGrid {JFrame frame = new Jframe (); public ButtonGrid (int laius, int pikkus) {frame.setLayout (uus GridLayout (laius, pikkus)); frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); raam.pakk (); frame.setVisible (true); }}…

      Nuppude võrgukood:

      | JFrame frame = new JFrame (); // loob raami JButton ruudustik; // nimetab nuppude ruudustiku avalikuks ButtonGrid (int laius, int pikkus) {// 2 parameetriga konstruktor frame.setLayout (uus GridLayout (laius, pikkus)); // seadista raami ruudustiku paigutus = uus JButton [laius] [pikkus]; // jaotage ruudustiku suurus (int y = 0; y <pikkus; y ++) {jaoks (int x = 0; x <laius; x ++) {grid [x] [y] = new JButton ("("+ x+","+y+")"); frame.add (ruudustik [x] [y]); // lisab nupu ruudustikule}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); raam.pakk (); frame.setVisible (true); }…

      Nuppude lisamine raami:

      jaoks (int y = 0; y <pikkus; y ++) {for (int x = 0; x <laius; x ++) {grid [x] [y] = new JButton ("("+x+","+y+") "); frame.add (ruudustik [x] [y]); }}…

      Nupuvõrgu eksemplari tegemine:

      public static void main (String args) {new ButtonGrid (3, 3); // teeb uue ButtonGrid kahe parameetriga}…

      Lõplik kood:

      import javax.swing. JFrame; // impordib JFrame raamatukogu import javax.swing. JButton; // impordib JButtoni raamatukogu import java.awt. GridLayout; // impordib GridLayout raamatukogu avaliku klassi ButtonGrid {JFrame frame = new JFrame (); // loob raami JButton ruudustik; // nimetab nuppude ruudustiku avalikuks ButtonGrid (int laius, int pikkus) {// konstruktori frame.setLayout (uus GridLayout (laius, pikkus)); // set layout grid = new JButton [laius] [pikkus]; // jaotage ruudustiku suurus (int y = 0; y <pikkus; y ++) {jaoks (int x = 0; x <laius; x ++) {grid [x] [y] = new JButton ("("+ x+","+y+")"); // loob uue nupu frame.add (grid [x] [y]); // lisab nupu ruudustikule}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); raam.pakk (); // määrab raamiraami sobiva suuruse.setVisible (true); // muudab kaadri nähtavaks} avalik staatiline tühi peamine (String args) {new ButtonGrid (3, 3); // muudab uue ButtonGrid kahe parameetriga}}

      import javax.swing. JFrame; // impordib JFrame raamatukogu import javax.swing. JButton; // impordib JButtoni raamatukogu import java.awt. GridLayout; // impordib GridLayouti kogu

      avalik klass ButtonGrid {

      JFrame frame = uus JFrame (); // loob raami JButton ruudustik; // nimetab nuppude ruudustikku

      public ButtonGrid (int laius, int pikkus) {// konstruktori frame.setLayout (uus GridLayout (laius, pikkus)); // set layout grid = new JButton [laius] [pikkus]; // jaotage ruudustiku suurus (int y = 0; y <pikkus; y ++) {jaoks (int x = 0; x <laius; x ++) {grid [x] [y] = new JButton ("("+ x+","+y+")"); // loob uue nupu frame.add (grid [x] [y]); // lisab nupu ruudustikule}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); raam.pakk (); // määrab raamiraami sobiva suuruse.setVisible (true); // muudab kaadri nähtavaks} avalik staatiline tühi peamine (String args) {new ButtonGrid (3, 3); // muudab uue ButtonGrid 2 parameetriga}

Soovitan: