Das Grid macht an dieser Stelle nichts Besonderes, aber mit ein wenig Recherche können Sie Action-Listener und ein bisschen Logik hinzufügen, um ein einfaches 2D-Spiel wie Tic-Tac-Toe oder kompliziertere wie Battleship zu erstellen.
Hinweis: In diesem Artikel wird Eclipse verwendet[1] Für alle Beispiele können sich die Dinge je nach Ihrer IDE unterscheiden. Dies sollte sehr ähnlich zu dem sein, was Sie in JCreator brauchen, aber es ist ziemlich nutzlos für eine GUI-basierte IDE wie NetBeans[2] vor allem wegen der Drag-and-Drop-Methode von NetBeans.
Schritte
-
1 Erstellen Sie ein Java-Projekt. Das ist ziemlich einfach. Schalten Sie Ihre IDE ein und erstellen Sie ein neues Projekt. Nennen Sie es, was immer Sie wünschen. Das Beispiel wird Buttongrid sein.
- Dieser Name spielt eigentlich keine Rolle, da nur der Dateiname angegeben wird.
-
2 Erstellen Sie eine Java-Klasse mit einer Hauptmethode. Erstelle eine neue Klasse und nenne sie wie du willst. Das Beispiel wird Buttongrid sein. Für einen Eclipse-Benutzer möchten Sie die Box namens public static void main (string [] args) aktivieren, damit Sie sie beim Start nicht eingeben müssen.
- Dieser Name ist wichtiger als der vorherige, da er ein einzelnes Wort sein muss oder nicht verwendbar ist.
-
3 Bibliotheken importieren Dies bringt alle Informationen, die Sie benötigen, um Ihren Code in diesen Code zu schreiben. Sie müssen javax.swing.JFrame, javax.swing.JButton und java.awt.Gridlayout importieren. Diese werden vor den Beginn der Klasse gelegt, irgendwo auf den Zeilen zwischen 1 und 3, die Reihenfolge, in der sie sich befinden, spielt keine Rolle.
-
4 Erstellen Sie einen Konstruktor. Der Konstruktor erstellt eine neue Instanz der Buttongrid-Klasse, die es ermöglicht, dass viele verschiedene Schaltflächenraster über separate Informationen verfügen. Alle Konstruktoren müssen genauso benannt sein wie ihre Klasse. Konstrukteure brauchen davor nichts, aber "öffentlich" wird oft zur leichteren Bezugnahme verwendet. Konstruktoren werden oft als erste Methode in einer Klasse platziert, also geht es direkt nach dem Klassennamen, muss aber innerhalb der Klasse platziert werden. Der Buttongrid-Konstruktor benötigt Parameter, die in Klammern hinter dem Namen des Konstruktors stehen. Die Parameter in diesem Beispiel sind Ganzzahlen 'x' und 'y'.
-
5 Rahmen erstellen:
- Der Rahmen muss benannt sein. Um sicherzustellen, dass es außerhalb der ButtonGrid-Konstruktormethode referenziert werden kann, platzieren Sie es außerhalb dieser Methode, jedoch innerhalb der Klasse. Die meisten Variablen werden am Anfang der Klasse direkt vor dem Konstruktor benannt. Um einen neuen Rahmen zu erstellen, tippen Sie: JFrame frame = new JFrame ();
- Innerhalb der Konstruktormethode müssen wir sicherstellen, dass alle Schaltflächen in das Grid-Layout eingefügt werden. Um dies zu tun, setzen wir das Layout des Frames durch Eingabe von: frame.setLayout (new GridLayout (x, y));
- Nicht unbedingt erforderlich, aber um den Rahmen schließen zu können, wenn Sie auf die Schaltfläche "x" in der oberen rechten Ecke klicken, müssen Sie folgende Zeile hinzufügen: frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
- Um den Rahmen so zu formatieren, dass alles passt, müssen wir den Pack-Befehl ausführen: frame.pack ();
- Zuletzt für den Rahmen müssen wir es so machen, dass es sichtbar ist: frame.setVisible (true);
-
6 Schaltflächenraster erstellen:
- Die Schaltflächen, mit denen der Benutzer interagiert, müssen erstellt werden, aber da wir nicht wissen, wie viele wir benötigen, müssen sie zuerst benannt werden. Unter der Zeile, in der Sie einen Rahmen erstellen, erstellen Sie die Schaltflächen: JButton [] [] grid; Die zwei Sätze von eckigen Klammern sind da, um zu sagen, dass die JButtons im Grid in einem zweidimensionalen Format gehalten werden, wenn es nur einen Satz von eckigen Klammern gäbe, dann wäre es einfach eine Zeile von JButtons, die immer noch funktioniert einfacher zu verweisen, welcher Knopf erzeugt wird oder mit dem interagiert wird, wenn es zweidimensional ist.
- Die JButton's wurden benannt, aber wir müssen noch sagen, wie viele Buttons es gibt. Sie müssen im Konstruktor eine Codezeile hinzufügen, die den Betrag festlegt: grid = new JButton [width] [length];
- Nachdem festgestellt wurde, dass eine bestimmte Anzahl von Schaltflächen vorhanden ist, muss jede erstellt werden. Am einfachsten ist dies mit zwei For-Schleifen, einer für die X-Achse, einer für die Y-Achse. Innerhalb der beiden Schleifen machen wir eine neue Schaltfläche, und um das Verständnis zu erleichtern, wird im Beispiel Text in jede Schaltfläche eingefügt, sodass wir wissen, welche Schaltfläche im zweidimensionalen Array wo ist. Um eine Schaltfläche zu erstellen, müssen Sie innerhalb der Schleife Raster [x] [y] = new JButton ("(" + x + "," + y + ")");
-
7 Fügen Sie Schaltflächen zum Rahmen hinzu. Innerhalb der Schleife müssen wir die Knöpfe mit einem einfachen Befehl auf den Rahmen setzen: frame.add (grid [x] [y]);
-
8 Machen Sie die ButtonGrid-Instanz. In Ihrer Hauptklasse geben Sie folgendes ein: new ButtonGrid (3,3); Die zwei Dreier machen ein 3 mal 3 Raster, und beliebige zwei positive Zahlen können hineingelegt werden.
-
9 Programm ausführen Um dies in Eclipse zu tun, drücken Sie Strg + F11
-
10 Erfahren Sie mehr über Java: http://java.sun.com/j2se/1.4.2/docs/api/index-files/index-1.html
- Mehr mit Schaltflächen: Um die Schaltflächen etwas zu tun, suchen actionListener ()
Schritte Code
- Die Hauptklasse:
Öffentlichkeit Klasse ButtonGrid Öffentlichkeit statisch Leere Main(Zeichenfolge[] Argumente)
- Importe:
einführen javax.swing.JFrame; einführen javax.swing.JButton; einführen java.awt.GridLayout; Öffentlichkeit Klasse ButtonGrid …
- Konstruktorcode:
Öffentlichkeit Klasse ButtonGrid Öffentlichkeit ButtonGrid(int Breite, int Länge) …
- Rahmencode:
Öffentlichkeit Klasse ButtonGrid JFrame Rahmen=Neu Jframe(); Öffentlichkeit ButtonGrid(int Breite, int Länge) Rahmen.setLayout(Neu Gitterstruktur(Breite Länge)); Rahmen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Rahmen.Pack(); Rahmen.setVisible(wahr); …
- Schaltfläche Grid-Code:
|JFrame Rahmen=Neu JFrame(); // Erstellt einen Rahmen JButton[][] Gitter; // Benennt das Raster der Schaltflächen Öffentlichkeit ButtonGrid(int Breite, int Länge) // Konstruktor mit 2 Parametern Rahmen.setLayout(Neu Gitterstruktur(Breite Länge)); // Setze das Layout des Rahmens Gitter=Neu JButton[Breite][Länge]; // die Größe des Rasters zuweisen zum(int y=0; y<Länge; y++) zum(int x=0; x<Breite; x++) Gitter[x][y]=Neu JButton("("+x+","+y+")"); Rahmen.hinzufügen(Gitter[x][y]); // Fügt dem Raster eine Schaltfläche hinzu Rahmen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Rahmen.Pack(); Rahmen.setVisible(wahr); …
- Schaltflächen zum Rahmen hinzufügen:
zum(int y=0; y<Länge; y++) zum(int x=0; x<Breite; x++) Gitter[x][y]=Neu JButton("("+x+","+y+")"); Rahmen.hinzufügen(Gitter[x][y]); …
- Erstellen einer Schaltflächenrasterinstanz:
Öffentlichkeit statisch Leere Main(Zeichenfolge[] Argumente) Neu ButtonGrid(3,3);// macht neues ButtonGrid mit 2 Parametern …
- Endgültiger Code:
einführen javax.swing.JFrame; // importiert die JFrame-Bibliothek einführen javax.swing.JButton; // importiert die JButton-Bibliothek einführen java.awt.GridLayout; // importiert GridLayout-Bibliothek Öffentlichkeit Klasse ButtonGrid JFrame Rahmen=Neu JFrame(); // Erstellt einen Rahmen JButton[][] Gitter; // Benennt das Raster der Schaltflächen Öffentlichkeit ButtonGrid(int Breite, int Länge) //Konstrukteur Rahmen.setLayout(Neu Gitterstruktur(Breite Länge)); // Layout setzen Gitter=Neu JButton[Breite][Länge]; // die Größe des Rasters zuweisen zum(int y=0; y<Länge; y++) zum(int x=0; x<Breite; x++) Gitter[x][y]=Neu JButton("("+x+","+y+")"); // Erstellt eine neue Schaltfläche Rahmen.hinzufügen(Gitter[x][y]); // Fügt dem Raster eine Schaltfläche hinzu Rahmen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Rahmen.Pack(); // legt die passende Größe für den Rahmen fest Rahmen.setVisible(wahr); // macht den Rahmen sichtbar Öffentlichkeit statisch Leere Main(Zeichenfolge[] Argumente) Neu ButtonGrid(3,3);// macht neues ButtonGrid mit 2 Parametern
import javax.swing.JFrame; // importiert JFrame-Bibliothek import javax.swing.JButton; // importiert JButton-Bibliothek import java.awt.GridLayout; // importiert GridLayout-Bibliothek
Öffentliche Klasse ButtonGrid
JFrame frame = neuer JFrame (); // Erstellt einen Frame JButton [] [] grid; // Benennt das Raster der Schaltflächen
public ButtonGrid (int width, int Länge) // Konstruktor frame.setLayout (new GridLayout (width, length)); // Setze Layout Grid = new JButton [Breite] [Länge]; // weise die Gittergröße zu (int y = 0; y