Kuidas Javas GUI-võrku teha

Grid ei tee selles etapis midagi erilist, kuid veidi uurides saate lisada tegevuskuulajaid ja natuke loogikat, et luua lihtsat 2D-mängu, nagu tic-tac-toe, või keerukamaid mänge, nagu Battleship. Märkus. Selles artiklis kasutatakse kõigi näidete jaoks Eclipse’i, nii et asjad võivad teie IDE-st olenevalt erineda. See peaks olema väga sarnane sellega, mida vajate JCreatoris, kuid GUI-põhise IDE jaoks, nagu NetBeans, on see siiski üsna kasutu, peamiselt NetBeansi pukseerimismeetodi tõttu.

1
Loo Java projekt. See on üsna lihtne. Lülitage oma IDE sisse ja looge uus projekt. Nimetage seda kuidas iganes soovite. Näide on buttongrid. See nimi pole tegelikult üldse oluline, kuna see on lihtsalt failinimi, mis sellele antakse.

2
Looge põhimeetodiga Java klass. Looge uus klass ja andke sellele soovitud nimi. Näide on nupuvõre. Eclipse’i kasutaja jaoks tasub märkida kast nimega public static void main(string[] args), nii et te ei pea seda käivitamisel tippima. See nimi on olulisem kui eelmine, sest see peab olema ühesõnaline või muidu pole see kasutatav.

3
Impordi raamatukogud. See toob kogu teabe, mida vajate koodi kirjutamiseks sellesse koodi. Peate importima javax.swing.JFrame, javax.swing.JButton ja java.awt.Gridlayout. Need pannakse enne tunni algust, kuhugi ridadele 1–3, nende järjekord ei oma tähtsust.

4
Looge konstruktor. Konstruktor loob nupuruudustiku klassist uue eksemplari, mis võimaldab paljudel erinevatel nupuruudustel kõigil olla eraldi teave. Kõik konstruktorid peavad kandma sama nime kui nende klassi. Konstruktorid ei vaja seda enne midagi, kuid viitamise hõlbustamiseks pannakse sinna sageli sõna “avalik”. Konstruktorid paigutatakse sageli klassi esimese meetodina, nii et see läheb kohe klassi nime järele, kuid see tuleb paigutada klassi sisse. Nupuvõre konstruktor vajab parameetreid, mis pannakse konstruktori nime järele sulgudesse. Selle näite parameetrid on täisarvud ‘x’ ja ‘y’.

5
Loo raam: raam peab olema nimega. Veendumaks, et sellele saab viidata väljaspool ButtonGridi konstruktorimeetodit, asetage see meetodi kõrvale, kuid klassi sisse. Enamik muutujaid on nimetatud klassi ülaosas vahetult enne konstruktorit. Uue raami loomiseks tippige: JFrame frame = new JFrame(); Konstruktormeetodi sees peame veenduma, et kõik nupud on paigutatud ruudustiku paigutusse. Selleks määrame raami paigutuse, kirjutades: frame.setLayout(new GridLayout(x, y));Pole tingimata kohustuslik, kuid selleks, et raam sulguks, kui vajutate paremas ülanurgas nuppu ‘x’ tuleb lisada rida: frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Selleks, et raam oleks õige suurusega, et kõik sobiks, peame käivitama pakikäsu: frame.pack();Lõpuks peame raami jaoks muutma selle nii, et see sobiks nähtav: raam.setVisible(true);

6
Nuppude ruudustiku loomine: nupud, millega kasutaja suhtleb, tuleb teha, kuid kuna me ei tea, kui palju me vajame, tuleb need kõigepealt nimetada. Nii et otse raami loomise rea alla loo nupud: JButton[][] ruudustik; Kaks nurksulgude komplekti on selleks, et öelda, et ruudustikus olevad JButtoni nupud on kahemõõtmelises vormingus, kui nurksulgude komplekti oleks ainult üks, siis oleks see lihtsalt JButoni rida, mis ikka töötab, see on lihtsalt lihtsam viidata, millist nuppu luuakse või millega suheldakse, kui see on kahemõõtmeline. JButtonitele on antud nimed, kuid me peame siiski ütlema, kui palju nuppe seal on. Peate konstruktoris lisama koodirea, mis määrab summa: grid=new JButton[width][length];Nüüd, kui on kindlaks tehtud, et nuppe on teatud arv, tuleb igaüks neist luua. Lihtsaim viis seda teha on kahe tsükliga, üks x-telje jaoks, üks y-telje jaoks. Kahe tsükli sees teeme uue nupu ja viitamise hõlbustamiseks asetab näide iga nupu sisse teksti, et saaksime teada, milline kahemõõtmelise massiivi nupp asub. Nupu loomiseks tuleb tsükli sisse panna grid[x][y] = new JButton (“(“+x+”,”+y+”)”);

7
Lisage raamile nupud. Silmuse sees peame panema nupud raamile lihtsa käsuga: frame.add(grid[x][y]);

8
Looge ButtonGridi eksemplar. Teie põhiklassi tüübis: new ButtonGrid(3,3); Kaks kolme moodustavad 3×3 ruudustiku ja sinna saab sisestada mis tahes kaks positiivset arvu.

9
Käivita programm. Selleks vajutage eclipse’is klahvikombinatsiooni Ctrl+F11