So erstellen Sie ein GUI-Grid in Java (mit Bildern)

Inhaltsverzeichnis:

So erstellen Sie ein GUI-Grid in Java (mit Bildern)
So erstellen Sie ein GUI-Grid in Java (mit Bildern)

Video: So erstellen Sie ein GUI-Grid in Java (mit Bildern)

Video: So erstellen Sie ein GUI-Grid in Java (mit Bildern)
Video: Vektorgrafik in Inkscape erstellen - Vektorisieren in Inkscape, Foto & Bild umwandeln, Tutorial 2021 2024, Kann
Anonim

The Grid macht in dieser Phase nichts Besonderes, aber mit ein wenig Recherche können Sie Action-Hörer und ein wenig Logik hinzufügen, um ein einfaches 2D-Spiel wie Tic-Tac-Toe oder kompliziertere wie Battleship zu erstellen.

Hinweis: Dieser Artikel verwendet Eclipse für alle Beispiele, sodass die Dinge je nach IDE unterschiedlich sein können. Dies sollte dem, was Sie in JCreator benötigen, sehr ähnlich sein, ist jedoch für eine GUI-basierte IDE wie NetBeans eher nutzlos, hauptsächlich wegen der Drag-and-Drop-Methode von NetBeans.

Schritte

Erstellen Sie ein GUI-Grid in Java Schritt 1
Erstellen Sie ein GUI-Grid in Java Schritt 1

Schritt 1. Erstellen Sie ein Java-Projekt

Dies ist ziemlich einfach. Schalten Sie Ihre IDE ein und erstellen Sie ein neues Projekt. Nennen Sie es wie immer Sie wollen. Das Beispiel ist buttongrid.

Dieser Name spielt überhaupt keine Rolle, da es nur der Dateiname ist, der ihm gegeben wird

Erstellen Sie ein GUI-Grid in Java Schritt 2
Erstellen Sie ein GUI-Grid in Java Schritt 2

Schritt 2. Erstellen Sie eine Java-Klasse mit einer Hauptmethode

Erstellen Sie eine neue Klasse und benennen Sie sie wie Sie möchten. Das Beispiel ist buttongrid. Für einen Eclipse-Benutzer möchten Sie das Kästchen namens public static void main(string args) ankreuzen, damit Sie es beim Start nicht eingeben müssen.

Dieser Name ist wichtiger als der vorherige, da er als einzelnes Wort verwendet werden muss, sonst ist er nicht verwendbar

Erstellen Sie ein GUI-Grid in Java Schritt 3
Erstellen Sie ein GUI-Grid in Java Schritt 3

Schritt 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 Unterrichtsbeginn auf die Zeilen 1 bis 3 gesetzt, die Reihenfolge spielt dabei keine Rolle.

Erstellen Sie ein GUI-Grid in Java Schritt 4
Erstellen Sie ein GUI-Grid in Java Schritt 4

Schritt 4. Erstellen Sie einen Konstruktor

Der Konstruktor erstellt eine neue Instanz der buttongrid-Klasse, die es vielen verschiedenen Schaltflächenrastern ermöglicht, alle separate Informationen zu haben. Alle Konstruktoren müssen den gleichen Namen wie ihre Klasse haben. Konstrukteure brauchen nichts davor, aber "öffentlich" wird oft zur leichteren Bezugnahme dort angegeben. Konstruktoren werden oft als erste Methode in einer Klasse platziert, also steht sie direkt hinter dem Klassennamen, muss jedoch 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'.

Erstellen Sie ein GUI-Grid in Java Schritt 5
Erstellen Sie ein GUI-Grid in Java Schritt 5

Schritt 5. Rahmen erstellen:

  1. Der Rahmen muss benannt werden. Um sicherzustellen, dass es außerhalb der ButtonGrid-Konstruktormethode referenziert werden kann, platzieren Sie es außerhalb dieser Methode, aber innerhalb der Klasse. Die meisten Variablen werden am Anfang der Klasse direkt vor dem Konstruktor benannt. Um einen neuen Frame zu erstellen, geben Sie Folgendes ein: JFrame frame = new JFrame();
  2. Innerhalb der Konstruktormethode müssen wir sicherstellen, dass alle Schaltflächen in das Rasterlayout eingefügt werden. Dazu legen wir das Layout von Frame fest, indem wir Folgendes eingeben: frame.setLayout(new GridLayout(x, y));
  3. Nicht unbedingt obligatorisch, aber um den Rahmen zu schließen, wenn Sie den 'x'-Knopf in der oberen rechten Ecke drücken, müssen wir die Zeile hinzufügen: frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);
  4. Um den Rahmen auf die richtige Größe zu bringen, damit alles passt, müssen wir den Pack-Befehl ausführen: frame.pack();
  5. Als letztes müssen wir den Frame sichtbar machen: frame.setVisible(true);

    Erstellen Sie ein GUI-Grid in Java Schritt 6
    Erstellen Sie ein GUI-Grid in Java Schritt 6

    Schritt 6. Schaltflächenraster erstellen:

    1. 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. Erstellen Sie also direkt unter der Zeile, in der Sie den Rahmen erstellen, die Schaltflächen: JButton grid; Die beiden eckigen Klammern sind dazu da, um zu sagen, dass die JButtons im Raster in einem zweidimensionalen Format gehalten werden, wenn es nur einen Satz eckiger Klammern gäbe, dann wäre es einfach eine Zeile von JButtons, die immer noch funktioniert, es ist nur leichter zu referenzieren, welche Schaltfläche erstellt oder mit der interagiert wird, wenn sie zweidimensional ist.
    2. Die JButtons 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];
    3. Nachdem nun festgelegt wurde, dass es eine bestimmte Anzahl von Schaltflächen geben wird, muss jede erstellt werden. Am einfachsten geht das mit zwei for-Schleifen, einer für die x-Achse, einer für die y-Achse. Innerhalb der beiden Schleifen erstellen wir eine neue Schaltfläche, und der Einfachheit halber fügt das Beispiel Text in jede Schaltfläche ein, damit wir wissen, welche Schaltfläche im zweidimensionalen Array wo ist. Um eine Schaltfläche zu erstellen, müssen Sie innerhalb der Schleife grid[x][y] = new JButton ("("+x+", "+y+")");

      Erstellen Sie ein GUI-Grid in Java Schritt 7
      Erstellen Sie ein GUI-Grid in Java Schritt 7

      Schritt 7. Fügen Sie dem Rahmen Schaltflächen hinzu

      Innerhalb der Schleife müssen wir die Schaltflächen mit einem einfachen Befehl auf den Rahmen legen: frame.add(grid[x][y]);

      Erstellen Sie ein GUI-Grid in Java Schritt 8
      Erstellen Sie ein GUI-Grid in Java Schritt 8

      Schritt 8. Erstellen Sie eine ButtonGrid-Instanz

      In Ihrem Hauptklassentyp: new ButtonGrid(3, 3); Die zwei Dreien ergeben ein 3 mal 3 Raster, in das zwei beliebige positive Zahlen eingegeben werden können.

      Erstellen Sie ein GUI-Grid in Java Schritt 9
      Erstellen Sie ein GUI-Grid in Java Schritt 9

      Schritt 9. Programm ausführen

      Um dies in Eclipse zu tun, drücken Sie Strg+F11

      Methode 1 von 1: Schrittcode

      Die Hauptklasse:

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

      Einfuhren:

      javax.swing. JFrame importieren; import javax.swing. JButton; import java.awt. GridLayout; öffentliche Klasse ButtonGrid { …

      Konstruktor-Code:

      public class ButtonGrid { public ButtonGrid(int width, int length){} } …

      Rahmencode:

      öffentliche Klasse ButtonGrid { JFrame frame=new Jframe(); public ButtonGrid (int width, int length) {frame.setLayout (new GridLayout (Breite, Länge)); frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } } …

      Schaltflächenrastercode:

      |JFrame-Frame=neuer JFrame(); //erzeugt Frame JButton Raster; //benennt das Raster der Schaltflächen public ButtonGrid(int width, int length){ //Konstruktor mit 2 Parametern frame.setLayout(new GridLayout(width, length)); //Layout des Framerasters setzen=new JButton[Breite][Länge]; //die Größe des Rasters zuweisen for(int y=0; y<length; y++){ for(int x=0; x<width; x++){ grid[x][y]=new JButton("("+ x+", "+y+")"); frame.add(grid[x][y]); // fügt Schaltfläche zum Raster hinzu } } frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); frame.pack(); frame.setVisible(true); } …

      Hinzufügen von Schaltflächen zum Rahmen:

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

      Erstellen einer Schaltflächenrasterinstanz:

      public static void main(String args) { new ButtonGrid(3, 3); // erstellt neues ButtonGrid mit 2 Parametern} …

      Endgültiger Code:

      javax.swing. JFrame importieren; //importiert die JFrame-Bibliothek import javax.swing. JButton; //importiert die JButton-Bibliothek import java.awt. GridLayout; //importiert die öffentliche Klasse der GridLayout-Bibliothek ButtonGrid { JFrame frame=new JFrame(); //erzeugt Frame JButton Raster; //benennt das Raster der Schaltflächen public ButtonGrid(int width, int length){ //Konstruktor frame.setLayout(new GridLayout(width, length)); //Layoutraster setzen=neu JButton[Breite][Länge]; //die Größe des Rasters zuweisen for(int y=0; y<length; y++){ for(int x=0; x<width; x++){ grid[x][y]=new JButton("("+ x+", "+y+")"); //erzeugt neue Schaltfläche frame.add(grid[x][y]); // fügt Schaltfläche zum Raster hinzu } } frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); frame.pack(); // Setzt die passende Größe für den Frame frame.setVisible(true); // macht Frame sichtbar } public static void main(String args) { new ButtonGrid(3, 3); // macht neues ButtonGrid mit 2 Parametern}}

      javax.swing. JFrame importieren; //importiert die JFrame-Bibliothek import javax.swing. JButton; //importiert die JButton-Bibliothek import java.awt. GridLayout; //importiert die GridLayout-Bibliothek

      öffentliche Klasse ButtonGrid {

      JFrame-Frame = neuer JFrame (); //erzeugt Frame JButton Raster; // benennt das Raster der Schaltflächen

      public ButtonGrid(int width, int length){//constructor frame.setLayout(new GridLayout(width, length)); //Layoutraster setzen=neu JButton[Breite][Länge]; //die Größe des Rasters zuweisen for(int y=0; y<length; y++){ for(int x=0; x<width; x++){ grid[x][y]=new JButton("("+ x+", "+y+")"); //erzeugt neue Schaltfläche frame.add(grid[x][y]); // fügt Schaltfläche zum Raster hinzu } } frame.setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE); frame.pack(); // Setzt die passende Größe für den Frame frame.setVisible(true); // macht Frame sichtbar } public static void main(String args) { new ButtonGrid(3, 3); // macht neues ButtonGrid mit 2 Parametern}

Empfohlen: