Wkudk

Hvordan man laver en GUI gitter i java

Gitteret gør noget særligt på dette tidspunkt, men med en lille smule forskning, kan du tilføje actionlisteners og en smule logik at lave en simpel 2D spil som tic-tac-toe, eller mere komplicerede dem ligesom Battleship.

Bemærk: Denne artikel bruger Eclipse for alle de eksempler, så tingene kan være anderledes afhængigt af din IDE. Dette bør være meget lig hvad du har brug for i JCreator, men det er temmelig ubrugelig for en GUI baseret IDE som NetBeans selv, primært på grund af træk og slip-metoden til NetBeans.

Steps

Hvordan man laver en GUI gitter i java. Opret et java-projekt.
Hvordan man laver en GUI gitter i java. Opret et java-projekt.
  1. 1
    Opret et java-projekt. Dette er forholdsvis enkel. Tænd din IDE og oprette et nyt projekt. Kald det hvad nogensinde du ønsker. Eksemplet vil blive buttongrid.
    • Dette navn betyder egentlig ikke noget overhovedet, da det er bare filnavnet, at det vil blive givet.
  2. 2
    Opret en java klasse med en main metode. Opret en ny klasse og navngive den, hvad du vil. Eksemplet vil blive buttongrid. For en Eclipse bruger vil du ønsker at tic kassen kaldes public static void main (String [] args), så du ikke behøver at skrive det, når du starter.
    • Dette navn er vigtigere end den foregående, fordi det vil være så enkelt ord ellers vil det ikke være anvendelige.
  3. 3
    Import biblioteker. Dette bringer alle de oplysninger, du bliver nødt til at skrive din kode til denne kode. Du bliver nødt til at importere javax.swing.JFrame, javax.swing.JButton og java.awt.Gridlayout. Disse er sat før begyndelsen af ​​klassen, nogle hvor på strækninger mellem 1 til 3, er den rækkefølge, de er på der ikke noget.
  4. 4
    Opret en konstruktør. Konstruktøren gør en ny instans af buttongrid klassen tillader mange forskellige buttongrid er for at alle har særskilte oplysninger. Alle konstruktører skal være navngivet på samme måde som deres klasse. Constructors behøver ikke noget før det, men »offentlige« er ofte sat der for nemheds skyld. Konstruktører ofte placeret som den første metode i en klasse, så det går lige efter klassen navn, skal det dog være placeret inden for klassen. Den buttongrid konstruktør brug parametre, der er sat i parentes efter navnet på konstruktøren. Parametrene i dette eksempel er heltal 'x' og 'y'.
  5. 5
    Opret frame:
    1. Rammen skal navngives. For at sikre det kan refereres uden for ButtonGrid constructor metode, du placere den ud side af denne metode, men inden for klassen. De fleste variable er navngivet på toppen af ​​klassen lige før konstruktøren. For at oprette en ny ramme, du skriver: JFrame frame = new JFrame ();
    2. Inde i constructor metode, vi er nødt til at sørge for, at alle knapperne er sat i nettet layout. For at gøre dette har vi sat layoutet af rammen ved at skrive: frame.setLayout (ny GridLayout (x, y));
    3. Ikke nødvendigvis obligatorisk, men at gøre rammen tæt på, når du trykker på 'x' knappen i øverste højre hjørne, vi har brug for at tilføje linjen: frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
    4. For at gøre rammen en ordentlig størrelse, så alt passer vi er nødt til at køre pakken kommando: frame.pack ();
    5. Endelig for rammen vi nødt til at gøre det, så det er synligt: ​​frame.setVisible (sand);
  6. 6
    Knappen Opret grid:
    1. Knapperne, som brugeren interagerer med behov for at blive, men da vi ikke ved, hvor mange vi har brug for, skal de først nævnte. Så lige under den linje, hvor du opretter rammen oprette knapper: JButton [] [] forsyningsnettet De to sæt firkantede parenteser er der at sige, at den JButton er i nettet holdes i et todimensionalt format, hvis der kun var én sæt firkantede parenteser så ville det simpelthen være en linje af JButton s, som stadig virker, det er bare nemmere at referere hvilken knap der bliver skabt eller interageret med, når det er to-dimensionelle.
    2. Den JButton er blevet navngivet, men vi har stadig til at sige, hvor mange knapper der er. Du er nødt til at tilføje en linje kode i konstruktøren, der sætter beløbet: grid = new JButton [width] [længde];
    3. Nu, hvor det er blevet fastslået, at der vil være et vist antal knapper, skal hver blive oprettet. Den nemmeste måde at gøre dette på er med to for løkker, én for x-aksen, en for y-aksen. Inde de to sløjfer, vi laver en ny knap og for nemheds skyld eksemplet sætter tekst i hver knap, så vi ved, hvilken knap på den todimensionale array er hvor. For at oprette en knap inde i løkken, du har brug for at sætte gitter [x] [y] = new JButton ("(" + x + "," + y + ")");
  7. 7
    Føj knapper til at ramme. Inde i løkken vi nødt til at sætte knapperne på rammen med en enkel kommando: frame.add (grid [x] [y]);
  8. 8
    Foretag buttongrid instans. I din vigtigste klasse type: new ButtonGrid (3,3), De to treere gør er en 3 af 3 gitter og eventuelle to positive tal kan sættes i der.
  9. 9
    Kør program. For at gøre dette i formørkelse tryk Ctrl + F11
  10. 10
    Læs mere om java: http://java.sun.com/j2se/1.4.2/docs/api/index-files/index-1.html
    1. Mere med knapper: At gøre knapperne gør noget ser op ActionListener ()

    Steps kode

    • De vigtigste klasse:
      public class ButtonGrid {  public static void main (String [] args) {    }  } 
    • Import:
      
    • Constructor Code:
      public class ButtonGrid {  offentlig ButtonGrid (int bredde, int længde) {  }  } ... 
    • Frame Code:
      public class ButtonGrid {  JFrame frame = new JFrame ();  offentlig ButtonGrid (int bredde, int længde) { . frame setLayout (ny GridLayout (bredde, længde));  ramme setDefaultCloseOperation (JFrame EXIT_ON_CLOSE.).;   ramme pack ().;   frame setVisible (sand).;   }  } ... 
    • Knap Grid Code:
      | JFrame frame = new JFrame () / / skaber rammen  JButton [] [] grid / / navne gitteret af knapper    offentlig ButtonGrid (int bredde, int længde) {/ / constructor med 2 parametre  frame setLayout (ny GridLayout (bredde, længde)). / / sæt layout frame  grid = new JButton [width] [længde] / / tildele størrelsen af gitteret  for (int y = 0, y <længde y + +) {   for (int x = 0, x <bredde x + +) {  grid [x] [y] = ny JButton ("(" + x + "," + y + ")");  . rammen tilfører (grid [x] [y]) / / tilføjer knappen til gitter  }  }  ramme setDefaultCloseOperation (JFrame EXIT_ON_CLOSE.).;   ramme pack ().;   frame setVisible (sand).;  } ... 
    • Tilføjelse Knapper til Ramme:
      for (int y = 0, y <længde y + +) {   for (int x = 0, x <bredde x + +) {  grid [x] [y] = ny JButton ("(" + x + "," + y + ")");   rammen tilfører (grid [x] [y]).;  }  } ... 
    • Realiseringen af ​​et knap gitter instans:
      public static void main (String [] args) {  nye ButtonGrid (3, 3) / / gør nyt ButtonGrid med 2 parametre  } ... 
    • Final Code:
      import javax.swing.JFrame / / import JFrame bibliotek  import javax.swing.JButton / / import JButton bibliotek  import java.awt.GridLayout / / import GridLayout bibliotek    public class ButtonGrid {    JFrame frame = new JFrame () / / skaber rammen  JButton [] [] grid / / navne gitteret af knapper    offentlig ButtonGrid (int bredde, int længde) {/ / constructor  frame setLayout (ny GridLayout (bredde, længde)). / / sæt layout  grid = new JButton [width] [længde] / / tildele størrelsen af gitteret  for (int y = 0, y <længde y + +) {  for (int x = 0, x <bredde x + +) {  grid [x] [y] = new JButton ("(" + x + "," + y + ")"); / / skaber ny knap . rammen tilfører (grid [x] [y]) / / tilføjer knappen til gitter  }  }  ramme setDefaultCloseOperation (JFrame EXIT_ON_CLOSE.).;  frame pack ();. / / sæt passende størrelse for rammen  frame setVisible (sand). / / gør frame synlig  }  public static void main (String [] args) {  nye ButtonGrid (3, 3) / / gør nyt ButtonGrid med 2 parametre  }  } 

    import javax.swing.JFrame / / import JFrame bibliotek import javax.swing.JButton / / import JButton bibliotek import java.awt.GridLayout / / import GridLayout bibliotek

    public class ButtonGrid {

      JFrame frame = new JFrame () / / skaber rammen  JButton [] [] grid / / navne gitteret af knapper   offentlig ButtonGrid (int bredde, int længde) {/ / constructor  frame.setLayout (ny GridLayout (bredde, længde)) / / sæt layout  grid = new JButton [width] [længde] / / tildele størrelsen af ​​gitteret  for (int y = 0, y <længde y + +) {  for (int x = 0, x <bredde x + +) {  grid [x] [y] = new JButton ("(" + x + "," + y + ")"); / / skaber ny knap   frame.add (grid [x] [y]) / / tilføjer knappen til gitter  }  }  frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);  frame.pack () / / sæt passende størrelse for rammen  frame.setVisible (sand) / / gør frame synlig  }  public static void main (String [] args) {  nye ButtonGrid (3,3);/ / gør nyt ButtonGrid med 2 parametre  }