Com fer una quadrícula GUI a Java (amb imatges)

Taula de continguts:

Com fer una quadrícula GUI a Java (amb imatges)
Com fer una quadrícula GUI a Java (amb imatges)

Vídeo: Com fer una quadrícula GUI a Java (amb imatges)

Vídeo: Com fer una quadrícula GUI a Java (amb imatges)
Vídeo: Te enseño a usar GIMP en 26 minutos (edición de imágenes) 2024, Maig
Anonim

La graella no fa res d’especial en aquesta etapa, però amb una mica d’investigació, podeu afegir oients d’acció i una mica de lògica per crear un joc 2D simple com el tic-tac-toe o altres més complicats com Battleship.

Nota: aquest article utilitza Eclipse per a tots els exemples, de manera que les coses poden variar en funció del vostre IDE. Això hauria de ser molt similar al que necessiteu a JCreator, però és bastant inútil per a un IDE basat en GUI com NetBeans, principalment a causa del mètode d'arrossegar i deixar anar NetBeans.

Passos

Feu una quadrícula GUI a Java Pas 1
Feu una quadrícula GUI a Java Pas 1

Pas 1. Creeu un projecte Java

Això és bastant senzill. Activeu el vostre IDE i creeu un projecte nou. Anomeneu-lo com vulgueu. L'exemple serà buttongrid.

Aquest nom no importa en absolut, ja que només es donarà el nom del fitxer

Feu una quadrícula GUI a Java Pas 2
Feu una quadrícula GUI a Java Pas 2

Pas 2. Creeu una classe Java amb un mètode principal

Creeu una classe nova i anomeneu-la com vulgueu. L'exemple serà buttongrid. Per a un usuari d'Eclipse, voldreu indicar la casella anomenada public static void main (string args), de manera que no l'haureu d'escriure quan comenceu.

Aquest nom és més important que l'anterior, perquè haurà de ser tan simple o no serà útil

Feu una quadrícula GUI a Java Pas 3
Feu una quadrícula GUI a Java Pas 3

Pas 3. Importar biblioteques

Això aporta tota la informació que necessitareu per escriure el vostre codi en aquest codi. Haureu d’importar javax.swing. JFrame, javax.swing. JButton i java.awt. Gridlayout. Aquests es col·loquen abans del començament de la classe, en algun lloc de les línies compreses entre l’1 i el 3, l’ordre en què estan allà no importa.

Feu una quadrícula GUI a Java Pas 4
Feu una quadrícula GUI a Java Pas 4

Pas 4. Creeu un constructor

El constructor crea una nova instància de la classe buttongrid que permet que moltes quadrícules de botons diferents tinguin informació separada. Cal anomenar tots els constructors igual que la seva classe. Els constructors no necessiten res abans que això, però sovint s’hi posa «públic» per facilitar-ne la referència. Els constructors sovint es col·loquen com el primer mètode d’una classe, de manera que va just després del nom de la classe, però, s’ha de col·locar dins de la classe. El constructor buttongrid necessita paràmetres, que es posen entre claudàtors després del nom del constructor. Els paràmetres d'aquest exemple són els enters 'x' i 'y'.

Feu una quadrícula GUI a Java Pas 5
Feu una quadrícula GUI a Java Pas 5

Pas 5. Crea un marc:

  1. Cal anomenar el marc. Per assegurar-vos que es pugui fer referència fora del mètode constructor ButtonGrid, col·loqueu-lo al costat d'aquest mètode, però dins de la classe. La majoria de variables s’anomenen a la part superior de la classe just abans del constructor. Per crear un nou marc, escriviu: JFrame frame = new JFrame ();
  2. Dins del mètode constructor hem d’assegurar-nos que tots els botons es col·loquen al disseny de la quadrícula. Per fer-ho, establim el disseny del marc escrivint: frame.setLayout (nova GridLayout (x, y));
  3. No necessàriament obligatori, però per fer que el marc es tanqui quan premeu el botó "x" a l'extrem superior dret hem d'afegir la línia: frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE);
  4. Per fer que el marc tingui una mida adequada perquè s’adapti a tot, hem d’executar l’ordre pack: frame.pack ();
  5. Per últim, cal que el marc sigui visible: frame.setVisible (true);

    Feu una quadrícula GUI a Java Pas 6
    Feu una quadrícula GUI a Java Pas 6

    Pas 6. Crea una quadrícula de botons:

    1. Cal crear els botons amb els quals l’usuari interactua, però, com que no sabem quants en necessitem, primer s’han d’anomenar. Així doncs, just a sota de la línia on es crea el marc, creeu els botons: quadrícula JButton ; Els dos conjunts de claudàtors són allà per dir que els JButton a la graella es mantenen en un format bidimensional, si només hi hagués un conjunt de claudàtors, simplement seria una línia de JButton, que encara funciona, només és és més fàcil referenciar-se amb quin botó es crea o s’interactua quan és bidimensional.
    2. S'ha batejat el JButton, però encara hem de dir quants botons hi ha. Heu d'afegir una línia de codi al constructor que estableixi la quantitat: grid = new JButton [width] [length];
    3. Ara que s'ha determinat que hi haurà un nombre determinat de botons, cal crear-los cadascun. La forma més senzilla de fer-ho és amb dos per a bucles, un per a l’eix x, un per a l’eix y. Dins dels dos bucles fem un nou botó i, per facilitar la referència, l'exemple posa text dins de cada botó perquè sabem quin botó de la matriu bidimensional és on. Per crear un botó, dins del bucle heu de posar la quadrícula [x] [y] = new JButton ("(" + x + "," + y + ")");

      Feu una quadrícula GUI a Java Pas 7
      Feu una quadrícula GUI a Java Pas 7

      Pas 7. Afegiu botons al marc

      Dins del bucle hem de posar els botons al marc amb una simple ordre: frame.add (quadrícula [x] [y]);

      Feu una quadrícula GUI a Java Pas 8
      Feu una quadrícula GUI a Java Pas 8

      Pas 8. Feu una instància ButtonGrid

      Al tipus de classe principal: ButtonGrid nou (3, 3); Els dos tres són una quadrícula de 3 per 3 i es poden posar dos números positius.

      Feu una quadrícula GUI a Java Pas 9
      Feu una quadrícula GUI a Java Pas 9

      Pas 9. Executeu el programa

      Per fer-ho a eclipsi, premeu Ctrl + F11

      Mètode 1 d'1: Codi de passos

      La classe principal:

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

      Importacions:

      importació javax.swing. JFrame; importació javax.swing. JButton; importació java.awt. GridLayout; classe pública ButtonGrid {…

      Codi del constructor:

      public class ButtonGrid {public ButtonGrid (amplada int, longitud int) {}} …

      Codi del marc:

      classe pública ButtonGrid {JFrame frame = new Jframe (); public ButtonGrid (amplada int, longitud int) {frame.setLayout (nou GridLayout (amplada, longitud)); frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (true); }} …

      Codi de quadrícula de botons:

      | JFrame frame = new JFrame (); // crea el quadre JButton quadrícula; // nomena la quadrícula de botons pública ButtonGrid (int width, int length) {// constructor amb 2 paràmetres frame.setLayout (nova GridLayout (amplada, longitud)); // configuració del disseny de la quadrícula = nou botó J [ample] [longitud]; // assigneu la mida de la quadrícula per a (int y = 0; y <longitud; y ++) {per a (int x = 0; x <ample; x ++) {quadrícula [x] [y] = new JButton ("(" + x + "," + y + ")"); frame.add (quadrícula [x] [y]); // afegeix un botó a la quadrícula}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); frame.setVisible (true); } …

      Addició de botons al marc:

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

      Creació d'una instància de quadrícula de botons:

      public static void main (String args) {new ButtonGrid (3, 3); // crea un ButtonGrid nou amb 2 paràmetres} …

      Codi final:

      importar javax.swing. JFrame; // importa la biblioteca JFrame importa javax.swing. JButton; // importa la biblioteca JButton importa java.awt. GridLayout; // importa la classe pública de la biblioteca GridLayout ButtonGrid {JFrame frame = new JFrame (); // crea el quadre JButton quadrícula; // posa nom a la quadrícula de botons públics ButtonGrid (int width, int length) {// constructor frame.setLayout (nova GridLayout (amplada, longitud)); // configuració de la quadrícula = nou botó J [ample] [longitud]; // assigneu la mida de la quadrícula per a (int y = 0; y <longitud; y ++) {per a (int x = 0; x <ample; x ++) {quadrícula [x] [y] = new JButton ("(" + x + "," + y + ")"); // crea un nou botó frame.add (quadrícula [x] [y]); // afegeix un botó a la quadrícula}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // estableix la mida adequada per al marc frame.setVisible (true); // fa visible el marc} public static void main (String args) {ButtonGrid nou (3, 3); // fa que ButtonGrid sigui nou amb 2 paràmetres}}

      importació javax.swing. JFrame; // importa la biblioteca JFrame importa javax.swing. JButton; // importa la biblioteca JButton importa java.awt. GridLayout; // importa la biblioteca GridLayout

      classe pública ButtonGrid {

      Marc JFrame = JFrame nou (); // crea el quadre JButton quadrícula; // posa nom a la quadrícula de botons

      public ButtonGrid (int width, int length) {// constructor frame.setLayout (nou GridLayout (amplada, longitud)); // configuració de la quadrícula = nou botó J [ample] [longitud]; // assigneu la mida de la quadrícula per a (int y = 0; y <longitud; y ++) {per a (int x = 0; x <ample; x ++) {quadrícula [x] [y] = new JButton ("(" + x + "," + y + ")"); // crea un nou botó frame.add (quadrícula [x] [y]); // afegeix un botó a la quadrícula}} frame.setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); frame.pack (); // estableix la mida adequada per al marc frame.setVisible (true); // fa visible el marc} public static void main (String args) {ButtonGrid nou (3, 3); // fa que ButtonGrid sigui nou amb 2 paràmetres}

Recomanat: