Diferencia entre revisiones de «GridLayout»

De ChuWiki
Saltar a: navegación, buscar
(creado)
 
m
 
Línea 1: Línea 1:
== Ejemplo de GridLayout ==
+
== Ejemplo de ''GridLayout'' ==
  
El GridLayout coloca los componentes en forma de matriz, haciendo que todos ocupen el mismo tamaño. Es un Layout adecuado para hacer matrices de cajas de texto (por ejemplo, si queremos hacer un crucigrama o un sudoku) o para matrices de botones (por ejemplo, una calculadora).
+
El ''GridLayout'' coloca los componentes en forma de matriz, haciendo que todos ocupen el mismo tamaño. Es un Layout adecuado para hacer matrices de cajas de texto (por ejemplo, si queremos hacer un crucigrama o un sudoku) o para matrices de botones (por ejemplo, una calculadora).
  
 
Se puede instanciar pasándole el número de filas y columnas que queremos. Por ejemplo, el siguiente trozo de código prepara una ventana con un GridLayout de 10 filas y 5 columnas.
 
Se puede instanciar pasándole el número de filas y columnas que queremos. Por ejemplo, el siguiente trozo de código prepara una ventana con un GridLayout de 10 filas y 5 columnas.
Línea 17: Línea 17:
 
</pre>
 
</pre>
  
Para meter los componentes, basta con ir añadiéndolos. Suele ser buena idea guardarselos también en un array de dos dimensiones para poder tener luego acceso a ellos. El siguiente código rellena lo anterior con JTextField
+
Para meter los componentes, basta con ir añadiéndolos. Suele ser buena idea guardarselos también en un array de dos dimensiones para poder tener luego acceso a ellos. El siguiente código rellena lo anterior con ''JTextField''
  
 
<pre>
 
<pre>

Revisión actual del 22:49 2 jul 2008

Ejemplo de GridLayout

El GridLayout coloca los componentes en forma de matriz, haciendo que todos ocupen el mismo tamaño. Es un Layout adecuado para hacer matrices de cajas de texto (por ejemplo, si queremos hacer un crucigrama o un sudoku) o para matrices de botones (por ejemplo, una calculadora).

Se puede instanciar pasándole el número de filas y columnas que queremos. Por ejemplo, el siguiente trozo de código prepara una ventana con un GridLayout de 10 filas y 5 columnas.

public class PruebaGridLayout {
   private static final int COLUMNAS = 10;
   private static final int FILAS = 5;

   public static void main(String [] args)
   {
      JFrame v = new JFrame();
      v.getContentPane().setLayout(new GridLayout(FILAS,COLUMNAS));
      ...

Para meter los componentes, basta con ir añadiéndolos. Suele ser buena idea guardarselos también en un array de dos dimensiones para poder tener luego acceso a ellos. El siguiente código rellena lo anterior con JTextField

...
JTextField [][] textField = new JTextField [FILAS][COLUMNAS];
for (int i=0;i<FILAS;i++)
   for (int j=0;j<COLUMNAS;j++)
   {
      textField[i][j] = new JTextField(1);
      v.getContentPane().add(textField[i][j]);
   }
...

Con esto nos saldrá una ventana de 10 filas y 5 columnas de cajitas de texto en las que cabe un caracter en cada una. Vaya, un crucigrama blanco.

Aquí el programa completo, por si alguien quiere probar.

import java.awt.GridLayout;

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.WindowConstants;

public class PruebaGridLayout {
   private static final int COLUMNAS = 10;
   private static final int FILAS = 5;

   public static void main(String [] args)
   {
      JFrame v = new JFrame();
      v.getContentPane().setLayout(new GridLayout(FILAS,COLUMNAS));
		
      JTextField [][] textField = new JTextField [FILAS][COLUMNAS];
      for (int i=0;i<FILAS;i++)
         for (int j=0;j<COLUMNAS;j++)
         {
            textField[i][j] = new JTextField(1);
            v.getContentPane().add(textField[i][j]);
         }
      v.pack();
      v.setVisible(true);
      v.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
   }
}