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
- 1Opret 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.
- Dette navn betyder egentlig ikke noget overhovedet, da det er bare filnavnet, at det vil blive givet.
- 2Opret 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.
- Dette navn er vigtigere end den foregående, fordi det vil være så enkelt ord ellers vil det ikke være anvendelige.
- 3Import 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.
- 4Opret 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'.
- 5Opret frame:
- 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 ();
- 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));
- 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);
- For at gøre rammen en ordentlig størrelse, så alt passer vi er nødt til at køre pakken kommando: frame.pack ();
- Endelig for rammen vi nødt til at gøre det, så det er synligt: frame.setVisible (sand);
- 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 ();
- 6Knappen Opret grid:
- 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.
- 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];
- 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 + ")");
- 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.
- 7Fø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]);
- 8Foretag 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.
- 9Kør program. For at gøre dette i formørkelse tryk Ctrl + F11
- 10Læs mere om java: http://java.sun.com/j2se/1.4.2/docs/api/index-files/index-1.html
- 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 }