Kako napraviti GUI mrežu na Javi (sa slikama)

Sadržaj:

Kako napraviti GUI mrežu na Javi (sa slikama)
Kako napraviti GUI mrežu na Javi (sa slikama)

Video: Kako napraviti GUI mrežu na Javi (sa slikama)

Video: Kako napraviti GUI mrežu na Javi (sa slikama)
Video: Get Rid of Frizzy Hair! 4 DIY Hair Masks/Treatments 2024, Svibanj
Anonim

Grid u ovoj fazi ne čini ništa posebno, ali uz malo istraživanja možete dodati slušatelje akcija i malo logike kako biste napravili jednostavnu 2D igru poput tic-tac-toe-a ili složeniju poput Battleship-a.

Napomena: Ovaj članak koristi Eclipse za sve primjere pa stvari mogu biti različite ovisno o vašem IDE -u. Ovo bi trebalo biti vrlo slično onome što vam je potrebno u JCreatoru, ali je prilično beskorisno za IDE temeljen na grafičkom sučelju poput NetBeansa, uglavnom zbog metode povlačenja i ispuštanja NetBeansa.

Koraci

Napravite GUI Grid u Javi Korak 1
Napravite GUI Grid u Javi Korak 1

Korak 1. Izradite Java projekt

Ovo je prilično jednostavno. Uključite IDE i izradite novi projekt. Nazovite to kako god želite. Primjer će biti buttongrid.

Ovo ime uopće nije važno jer će mu se dati samo naziv datoteke

Napravite GUI mrežu u Javi Korak 2
Napravite GUI mrežu u Javi Korak 2

Korak 2. Izradite Java klasu s glavnom metodom

Napravite novu klasu i dajte joj ime kako želite. Primjer će biti buttongrid. Za korisnika Eclipsea htjet ćete označiti okvir koji se naziva public static void main (string args), tako da ga nećete morati upisivati pri pokretanju.

Ovaj je naziv važniji od prethodnog jer će morati biti jedna riječ, inače neće biti upotrebljiv

Napravite GUI Grid u Javi Korak 3
Napravite GUI Grid u Javi Korak 3

Korak 3. Uvezite knjižnice

To donosi sve podatke koji su vam potrebni za upisivanje koda u ovaj kôd. Morat ćete uvesti javax.swing. JFrame, javax.swing. JButton i java.awt. Gridlayout. Oni se stavljaju prije početka nastave, negdje u redovima između 1 i 3, redoslijed u kojem su tamo nije bitan.

Napravite GUI mrežu u Javi Korak 4
Napravite GUI mrežu u Javi Korak 4

Korak 4. Izradite konstruktor

Konstruktor čini novu instancu klase buttongrid dopuštajući da mnoge različite rešetke gumba imaju različite podatke. Svi konstruktori moraju biti imenovani isto kao i njihova klasa. Konstruktorima prije toga ne treba ništa, ali se radi lakšeg snalaženja često stavlja 'javnost'. Konstruktori se često postavljaju kao prva metoda u klasi, pa ide odmah nakon naziva klase, ali se mora postaviti unutar klase. Konstruktoru gumene mreže potrebni su parametri koji se stavljaju u zagrade iza imena konstruktora. Parametri u ovom primjeru su cijeli brojevi 'x' i 'y'.

Napravite GUI Grid u Javi Korak 5
Napravite GUI Grid u Javi Korak 5

Korak 5. Izradite okvir:

  1. Okvir mora biti imenovan. Kako biste bili sigurni da se može referencirati izvan metode konstruktora ButtonGrid, postavite je izvan te metode, ali unutar klase. Većina se varijabli imenuje na vrhu klase neposredno prije konstruktora. Da biste stvorili novi okvir, upišite: JFrame frame = new JFrame ();
  2. Unutar metode konstruktora moramo osigurati da su svi gumbi stavljeni u raspored mreže. Da bismo to učinili, postavili smo okvir okvira upisivanjem: frame.setLayout (novi GridLayout (x, y));
  3. Nije nužno obvezno, ali kako bismo okvir zatvorili kada pritisnete gumb 'x' u gornjem desnom kutu, moramo dodati redak: frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE);
  4. Da bi okvir bio odgovarajuće veličine tako da sve stane potrebno je pokrenuti naredbu pack: frame.pack ();
  5. Na kraju, za okvir moramo ga učiniti vidljivim: frame.setVisible (true);

    Napravite GUI mrežu u Javi Korak 6
    Napravite GUI mrežu u Javi Korak 6

    Korak 6. Izradite rešetku gumba:

    1. Gumbi s kojima korisnik komunicira moraju biti izrađeni, ali budući da ne znamo koliko nam je potrebno, prvo ih moramo imenovati. Dakle, odmah ispod crte gdje stvarate okvir stvorite gumbe: JButton grid; Dva skupa uglatih zagrada govore da se JButtonovi u mreži drže u dvodimenzionalnom formatu, da postoji samo jedan skup uglatih zagrada onda bi to jednostavno bila linija JButtonovih, koja još uvijek radi, to je samo lakše je referencirati koji se gumb stvara ili ima interakciju s njim kada je dvodimenzionalan.
    2. JButton -ovi su dobili ime, ali ipak moramo reći koliko ima gumba. Morate dodati redak koda u konstruktor koji postavlja iznos: grid = new JButton [width] [length];
    3. Sada kada je utvrđeno da će postojati određeni broj gumba, svaki se mora stvoriti. Najlakši način za to je pomoću dvije petlje, jedna za x-os, jedna za y-os. Unutar dvije petlje izrađujemo novi gumb, a radi lakšeg snalaženja primjer stavlja tekst unutar svakog gumba tako da znamo koji se gumb u dvodimenzionalnom nizu nalazi. Da biste stvorili gumb, unutar petlje morate staviti rešetku [x] [y] = novi JButton ("("+x+","+y+")");

      Napravite GUI mrežu u Javi Korak 7
      Napravite GUI mrežu u Javi Korak 7

      Korak 7. Dodajte gumbe u okvir

      Unutar petlje moramo staviti gumbe na okvir jednostavnom naredbom: frame.add (rešetka [x] [y]);

      Napravite GUI mrežu u Javi Korak 8
      Napravite GUI mrežu u Javi Korak 8

      Korak 8. Napravite ButtonGrid Instance

      U vašoj glavnoj klasi: novi ButtonGrid (3, 3); Dvije trojke čine mrežu 3 x 3, a bilo koja dva pozitivna broja mogu se unijeti tamo.

      Napravite GUI mrežu u Javi Korak 9
      Napravite GUI mrežu u Javi Korak 9

      Korak 9. Pokrenite program

      Da biste to učinili u pomrčini, pritisnite Ctrl+F11

      Metoda 1 od 1: Kodovi koraka

      Glavna klasa:

      javna klasa ButtonGrid {public static void main (String args) {}}

      Uvoz:

      uvoz javax.swing. JFrame; uvoz javax.swing. JButton; import java.awt. GridLayout; ButtonGrid javne klase {…

      Kod konstruktora:

      javna klasa ButtonGrid {public ButtonGrid (int širina, int duljina) {}}…

      Kôd okvira:

      javna klasa ButtonGrid {JFrame frame = new Jframe (); public ButtonGrid (int width, int length) {frame.setLayout (novi GridLayout (širina, duljina)); frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (true); }}…

      Kôd mreže gumba:

      | JFrame frame = new JFrame (); // stvara okvir JButton rešetku; // imenuje mrežu gumba public ButtonGrid (int width, int length) {// konstruktor s 2 parametra frame.setLayout (novi GridLayout (širina, duljina)); // postavljanje izgleda okvira okvira = novi JButton [širina] [duljina]; // dodjeljuje veličinu mreže za (int y = 0; y <dužina; y ++) {za (int x = 0; x <širina; x ++) {grid [x] [y] = novi JButton ("("+ x+","+y+")"); frame.add (rešetka [x] [y]); // dodaje gumb u mrežu}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (true); }…

      Dodavanje gumba u okvir:

      for (int y = 0; y <length; y ++) {for (int x = 0; x <width; x ++) {grid [x] [y] = novi JButton ("("+x+","+y+") "); frame.add (rešetka [x] [y]); }}…

      Izrada instance rešetke gumba:

      public static void main (String args) {new ButtonGrid (3, 3); // pravi novi ButtonGrid s 2 parametra}…

      Završni kod:

      uvoz javax.swing. JFrame; // uvozi knjižnicu JFrame uvoz javax.swing. JButton; // uvozi knjižnicu JButton uvoz java.awt. GridLayout; // uvozi knjižnicu GridLayout javne klase ButtonGrid {JFrame frame = new JFrame (); // stvara okvir JButton rešetku; // imenuje mrežu gumba public ButtonGrid (int širina, int duljina) {// konstruktor frame.setLayout (novi GridLayout (širina, duljina)); // postavljanje mreže rasporeda = novi JButton [širina] [duljina]; // dodjeljuje veličinu mreže za (int y = 0; y <dužina; y ++) {za (int x = 0; x <širina; x ++) {grid [x] [y] = novi JButton ("("+ x+","+y+")"); // stvara novi okvir okvira.add (rešetka [x] [y]); // dodaje gumb u mrežu}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // postavlja odgovarajuću veličinu za frame frame.setVisible (true); // čini okvir vidljivim} public static void main (String args) {new ButtonGrid (3, 3); // čini novi ButtonGrid s 2 parametra}}

      uvoz javax.swing. JFrame; // uvozi knjižnicu JFrame uvoz javax.swing. JButton; // uvozi knjižnicu JButton uvoz java.awt. GridLayout; // uvozi biblioteku GridLayout

      ButtonGrid javne klase {

      Okvir JFrame = novi JFrame (); // stvara okvir JButton rešetku; // imenuje mrežu gumba

      public ButtonGrid (int width, int length) {// konstruktor frame.setLayout (novi GridLayout (širina, duljina)); // postavljanje mreže rasporeda = novi JButton [širina] [duljina]; // dodjeljuje veličinu mreže za (int y = 0; y <dužina; y ++) {za (int x = 0; x <širina; x ++) {grid [x] [y] = novi JButton ("("+ x+","+y+")"); // stvara novi okvir okvira.add (rešetka [x] [y]); // dodaje gumb u mrežu}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // postavlja odgovarajuću veličinu za frame frame.setVisible (true); // čini okvir vidljivim} public static void main (String args) {new ButtonGrid (3, 3); // čini novi ButtonGrid s 2 parametra}

Preporučeni: