Sådan laver du et GUI -gitter i Java (med billeder)

Indholdsfortegnelse:

Sådan laver du et GUI -gitter i Java (med billeder)
Sådan laver du et GUI -gitter i Java (med billeder)

Video: Sådan laver du et GUI -gitter i Java (med billeder)

Video: Sådan laver du et GUI -gitter i Java (med billeder)
Video: Onsdagsfilm - Kort lavet med stencil skåret på brother scan n cut 2024, Kan
Anonim

The Grid gør ikke noget særligt på dette stadium, men med lidt research kan du tilføje actionlyttere og lidt logik til at lave et simpelt 2D-spil som tic-tac-toe eller mere komplicerede som Battleship.

Bemærk: Denne artikel bruger Eclipse til alle eksemplerne, så tingene kan være forskellige afhængigt af din IDE. Dette burde være meget lig det, du skal bruge i JCreator, men det er ret ubrugeligt for en GUI -baseret IDE som NetBeans, hovedsageligt på grund af træk og slip -metoden for NetBeans.

Trin

Lav et GUI -gitter i Java Trin 1
Lav et GUI -gitter i Java Trin 1

Trin 1. Opret et Java -projekt

Dette er ret simpelt. Tænd din IDE og opret et nyt projekt. Kald det hvad du vil. Eksemplet vil være buttongrid.

Dette navn er slet ikke ligegyldigt, da det kun er filnavnet, det vil blive givet

Lav et GUI -gitter i Java Trin 2
Lav et GUI -gitter i Java Trin 2

Trin 2. Opret en Java -klasse med en hovedmetode

Opret en ny klasse, og navngiv den, hvad du vil. Eksemplet vil være buttongrid. For en Eclipse -bruger vil du krydse af i feltet, der hedder public static void main (string args), så du ikke behøver at skrive det, når du starter.

Dette navn er vigtigere end det forrige, fordi det skal være som et enkelt ord, ellers kan det ikke bruges

Lav et GUI -gitter i Java Trin 3
Lav et GUI -gitter i Java Trin 3

Trin 3. Importer biblioteker

Dette bringer alle de oplysninger, du skal bruge for at skrive din kode, til denne kode. Du skal importere javax.swing. JFrame, javax.swing. JButton og java.awt. Gridlayout. Disse sættes før klassens begyndelse, et eller andet sted på linjer mellem 1 til 3, rækkefølgen, de er der, er ligegyldig.

Lav et GUI -gitter i Java Trin 4
Lav et GUI -gitter i Java Trin 4

Trin 4. Opret en konstruktør

Konstruktøren laver en ny forekomst af buttongrid -klassen, så mange forskellige knapgitre alle kan have separate oplysninger. Alle konstruktører skal navngives det samme som deres klasse. Konstruktører har ikke brug for noget før det, men 'offentlighed' er ofte sat der for nem reference. Konstruktører placeres ofte som den første metode i en klasse, så den går lige efter klassens navn, den skal dog placeres i klassen. Buttongrid -konstruktøren har brug for parametre, der sættes i parentes efter konstruktørens navn. Parametrene i dette eksempel er heltal 'x' og 'y'.

Lav et GUI -gitter i Java Trin 5
Lav et GUI -gitter i Java Trin 5

Trin 5. Opret ramme:

  1. Rammen skal navngives. For at sikre, at der kan refereres til den uden for ButtonGrid -konstruktormetoden, placerer du den uden for metoden, men inden for klassen. De fleste variabler er navngivet øverst i klassen lige før konstruktøren. For at oprette en ny ramme skriver du: JFrame frame = new JFrame ();
  2. Inde i konstruktormetoden skal vi sikre os, at alle knapperne er placeret i gitterlayoutet. For at gøre dette indstiller vi rammens layout ved at skrive: frame.setLayout (nyt GridLayout (x, y));
  3. Ikke nødvendigvis obligatorisk, men for at få rammen til at lukke, når du trykker på 'x' -knappen i øverste højre hjørne, skal vi tilføje linjen: frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE);
  4. For at gøre rammen til en passende størrelse, så alt passer, skal vi køre kommandoen pack: frame.pack ();
  5. Til sidst for rammen skal vi gøre det så det er synligt: frame.setVisible (true);

    Lav et GUI -gitter i Java Trin 6
    Lav et GUI -gitter i Java Trin 6

    Trin 6. Opret knapgitter:

    1. Knapperne, som brugeren interagerer med, skal laves, men da vi ikke ved, hvor mange vi har brug for, skal de navngives først. Så lige under den linje, hvor du opretter ramme, skal du oprette knapperne: JButton gitter; De to sæt firkantede parenteser er der for at sige, at JButton'erne i gitteret er holdt i et todimensionalt format, hvis der kun var et sæt firkantede parenteser, ville det simpelthen være en linje af JButtons, som stadig fungerer, det er bare lettere at henvise til, hvilken knap der oprettes eller interageres med, når den er todimensionel.
    2. JButton er blevet navngivet, men vi skal stadig sige, hvor mange knapper der er. Du skal tilføje en kodelinje i konstruktøren, der angiver mængden: grid = ny JButton [bredde] [længde];
    3. Nu hvor det er fastslået, at der vil være et bestemt antal knapper, skal hver oprettes. Den nemmeste måde at gøre dette på er med to til sløjfer, en til x-aksen, en til y-aksen. Inde i de to sløjfer laver vi en ny knap, og for nemheds skyld lægger eksemplet tekst inde i hver knap, så vi ved, hvilken knap i det todimensionale array er hvor. For at oprette en knap skal du inden for løkken sætte gitter [x] [y] = ny JButton ("("+x+","+y+")");

      Lav et GUI -gitter i Java Trin 7
      Lav et GUI -gitter i Java Trin 7

      Trin 7. Tilføj knapper til rammen

      Inde i løkken skal vi sætte knapperne på rammen med en simpel kommando: frame.add (grid [x] [y]);

      Lav et GUI -gitter i Java Trin 8
      Lav et GUI -gitter i Java Trin 8

      Trin 8. Lav ButtonGrid Instance

      I din hovedklassetype: ny ButtonGrid (3, 3); De to treer gør er et 3 x 3 gitter, og der kan sættes to positive tal der.

      Lav et GUI -gitter i Java Trin 9
      Lav et GUI -gitter i Java Trin 9

      Trin 9. Kør program

      For at gøre dette i formørkelse skal du trykke på Ctrl+F11

      Metode 1 af 1: Trinkode

      Hovedklassen:

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

      Import:

      import javax.swing. JFrame; import javax.swing. JButton; import java.awt. GridLayout; public class ButtonGrid {…

      Konstruktørkode:

      public class ButtonGrid {public ButtonGrid (int bredde, int længde) {}} …

      Rammekode:

      public class ButtonGrid {JFrame frame = new Jframe (); public ButtonGrid (int bredde, int længde) {frame.setLayout (ny GridLayout (bredde, længde)); frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (true); }}…

      Knapgitterkode:

      | JFrame frame = ny JFrame (); // opretter ramme JButton gitter; // navngiver gitteret af knapper offentlig ButtonGrid (int bredde, int længde) {// konstruktør med 2 parametre frame.setLayout (ny GridLayout (bredde, længde)); // sæt layout af frame grid = ny JButton [bredde] [længde]; // tildel gitterets størrelse til (int y = 0; y <længde; y ++) {for (int x = 0; x <bredde; x ++) {grid [x] [y] = ny JButton ("("+ x+","+y+")"); frame.add (gitter [x] [y]); // tilføjer knap til gitter}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (true); }…

      Tilføjelse af knapper til rammen:

      for (int y = 0; y <længde; y ++) {for (int x = 0; x <bredde; x ++) {grid [x] [y] = ny JButton ("("+x+","+y+") "); frame.add (gitter [x] [y]); }}…

      Oprettelse af et knapgitterforekomst:

      public static void main (String args) {new ButtonGrid (3, 3); // laver nyt ButtonGrid med 2 parametre} …

      Endelig kode:

      import javax.swing. JFrame; // importerer JFrame bibliotek import javax.swing. JButton; // importerer JButton bibliotek import java.awt. GridLayout; // importerer GridLayout bibliotek public class ButtonGrid {JFrame frame = new JFrame (); // opretter ramme JButton gitter; // navngiver gitteret med knapper offentlig ButtonGrid (int bredde, int længde) {// constructor frame.setLayout (ny GridLayout (bredde, længde)); // sæt layoutgitter = nyt JButton [bredde] [længde]; // tildel gitterets størrelse til (int y = 0; y <længde; y ++) {for (int x = 0; x <bredde; x ++) {grid [x] [y] = ny JButton ("("+ x+","+y+")"); // opretter ny knapramme.add (gitter [x] [y]); // tilføjer knap til gitter}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // angiver passende størrelse til frame frame.setVisible (true); // gør rammen synlig} offentlig statisk tomrum main (String args) {new ButtonGrid (3, 3); // gør ny ButtonGrid med 2 parametre}}

      import javax.swing. JFrame; // importerer JFrame bibliotek import javax.swing. JButton; // importerer JButton bibliotek import java.awt. GridLayout; // importerer GridLayout -bibliotek

      public class ButtonGrid {

      JFrame frame = ny JFrame (); // opretter ramme JButton gitter; // navngiver gitteret med knapper

      public ButtonGrid (int bredde, int længde) {// constructor frame.setLayout (ny GridLayout (bredde, længde)); // sæt layoutgitter = nyt JButton [bredde] [længde]; // tildel gitterets størrelse til (int y = 0; y <længde; y ++) {for (int x = 0; x <bredde; x ++) {grid [x] [y] = ny JButton ("("+ x+","+y+")"); // opretter ny knapramme.add (gitter [x] [y]); // tilføjer knap til gitter}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // angiver passende størrelse til frame frame.setVisible (true); // gør rammen synlig} offentlig statisk tomrum main (String args) {new ButtonGrid (3, 3); // gør ny ButtonGrid med 2 parametre}

Anbefalede: