Cuadrícula en Java - Tipos de constructores - Ejemplo con implementación

Tabla de contenido:

Anonim

Introducción a GridLayout en Java

Los administradores de diseño se utilizan en la programación gráfica para organizar los componentes de una manera específica. Se utilizan para determinar el tamaño y la posición de un componente en un contenedor. Hay diferentes tipos de gestores de diseño disponibles. GridLayout es uno de ellos. GridLayout en Java divide el contenedor en una cuadrícula de celdas llamadas filas y columnas. Organiza los componentes en una cuadrícula rectangular. Cada celda puede acomodar solo un componente, de igual tamaño y equiespaciados entre sí.

Ejemplo: 3 filas y 4 columnas.

1234 4
5 56 67 78
9 9101112

Steps-Gridlayout comunes en Java

  1. Configuración del contenedor utilizando el constructor JFrame:
    Marco JFrame = nuevo JFrame ();
  2. Configuración del administrador de diseño del panel utilizando el constructor JPanel:
    Panel JPanel = nuevo JPanel ();
  3. Agregar componentes al contenedor:
    panel.add (botón); frame.add (panel);
  4. Configuración de la orientación del componente:
    panel.setComponentOrientation (ComponentOrientation.LEFT_TO_RIGHT);
    El valor predeterminado de la propiedad ComponentOrientation es que la orientación de los componentes es horizontal y de izquierda a derecha.

Tipos de constructores con ejemplo

A continuación se muestran los tipos de constructores con ejemplos y código.

1. GridLayout ()

Constructor vacío con una columna por componente en una sola fila.

Código

import java.awt.*;
import javax.swing.*;
public class GridLayoutDemo (
public static void main(String() args) (
JFrame frame = new JFrame("Grid Layout");
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout());JButton button1 = new JButton("1");
JButton button2 = new JButton("2");
JButton button3 = new JButton("3");
JButton button4 = new JButton("4");
panel.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
frame.add(panel);
)
)

Salida:

2. GridLayout (int filas, int columnas)

Constructor con un número especificado de filas y columnas.
Parámetros:
filas: el número de filas (valor cero significa cualquier número de filas).
columnas: el número de columnas (valor cero significa cualquier número de columnas).

Código

import java.awt.*;
import javax.swing.*;
public class GridLayoutDemo (
public static void main(String() args) (
JFrame frame = new JFrame("Grid Layout");
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2, 2));
JButton button1 = new JButton("1");
JButton button2 = new JButton("2");
JButton button3 = new JButton("3");
JButton button4 = new JButton("4");
panel.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
frame.add(panel);
)
)

Salida:

3. GridLayout (int filas, int columnas, int horizontal gap, int vertical gap).

Constructor con un número específico de filas y columnas, espacios horizontales y verticales entre filas y columnas.
Parámetros:
filas: el número de filas (valor cero significa cualquier número de filas).
columnas: el número de columnas (valor cero significa cualquier número de columnas).
espacio horizontal entre cada una de las columnas
espacio vertical entre cada una de las filas
Lanza
IllegalArgumentException: si el valor de ambas filas y columnas se establece en cero.

Código

import java.awt.*;import javax.swing.*;
public class GridLayoutDemo (
public static void main(String() args) (
JFrame frame = new JFrame("Grid Layout");
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(200, 200);
JPanel panel = new JPanel();
panel.setLayout(new GridLayout(2, 2, 5, 10));
JButton button1 = new JButton("1");
JButton button2 = new JButton("2");JButton button3 = new JButton("3");
JButton button4 = new JButton("4");
panel.setComponentOrientation(ComponentOrientation.LEFT_TO_RIGHT);
panel.add(button1);
panel.add(button2);
panel.add(button3);
panel.add(button4);
frame.add(panel);
)
)

Salida:

Ejemplo con implementación

Caso: en el siguiente programa, cada vez que el efecto mouseover ocurre sobre la celda de una cuadrícula, su color cambia de negro a blanco.

Código

import java.awt.*;
import javax.swing.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class gridLayout extends JPanel(
public gridLayout() (
super(new GridLayout(3, 3));
JLabel label1, label2, label3, label4, label5, label6, label7, label8, label9;
//create the lables
label1 = new JLabel();
label2 = new JLabel();
label3 = new JLabel();
label4 = new JLabel();
label5 = new JLabel();
label6 = new JLabel();
label7 = new JLabel();
label8 = new JLabel();
label9 = new JLabel();
//set the background color for each label
label1.setBackground(Color.BLACK);
label1.setOpaque(true);
label2.setBackground(Color.BLACK);
label2.setOpaque(true);
label3.setBackground(Color.BLACK);
label3.setOpaque(true);
label4.setBackground(Color.BLACK);
label4.setOpaque(true);
label5.setBackground(Color.BLACK);
label5.setOpaque(true);
label6.setBackground(Color.BLACK);
label6.setOpaque(true);
label7.setBackground(Color.BLACK);
label7.setOpaque(true);
label8.setBackground(Color.BLACK);
label8.setOpaque(true);
label9.setBackground(Color.BLACK);
label9.setOpaque(true);
//add mouse listeners for each label
label1.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label1.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label1.setBackground(Color.BLACK);
)
));
label2.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label2.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label2.setBackground(Color.BLACK);
)
));
label3.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label3.setBackground(Color.WHITE);)
public void mouseExited(MouseEvent me) (
label3.setBackground(Color.BLACK);
)
));
label4.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label4.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label4.setBackground(Color.BLACK);)
));
label5.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label5.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label5.setBackground(Color.BLACK);
)));
label6.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label6.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label6.setBackground(Color.BLACK);
)
));
label7.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label7.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label7.setBackground(Color.BLACK);
)
));
label8.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label8.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label8.setBackground(Color.BLACK);
)
));label9.addMouseListener(new MouseAdapter() (
public void mouseEntered(MouseEvent me) (
label9.setBackground(Color.WHITE);
)
public void mouseExited(MouseEvent me) (
label9.setBackground(Color.BLACK);
)
));
//add the labels
add(label1);
add(label2);
add(label3);
add(label4);
add(label5);
add(label6);
add(label7);
add(label8);
add(label9);
)
private static void createAndShowGUI() (
//create and setup the container
JFrame frame = new JFrame("Gridlayout Demo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);
//add content to the container
frame.add(new gridLayout());
//display the container
frame.pack();
frame.setVisible(true);
)public static void main(String() args) (
createAndShowGUI();
)
)

Salida:

Conclusión

La cuadrícula en Java es útil cuando desea hacer cuadrículas en un contenedor junto con una condición, es decir, cada una de las celdas de la cuadrícula es del mismo tamaño y está igualmente espaciada.
Hay otros métodos disponibles también como se menciona a continuación:
1. getRows () - Obtiene el número de filas.
2. setRows (int i): establece el número de filas en el valor especificado.
3. getColumns () - Obtiene el número de columnas.
4. setColumns (int i): establece el número de columnas en el valor especificado.
5. getHgap () - Obtiene el espacio horizontal entre los componentes.
6. setHgap (int i): establece el espacio horizontal entre los componentes en el valor especificado.
7.getVgap () - Obtiene el espacio vertical entre los componentes.
8. setVgap (int i): establece el espacio vertical entre los componentes en el valor especificado.
9. addLayoutComponent (String name, Component comp): agrega el componente especificado con el nombre especificado al diseño.
10. removeLayoutComponent (Component comp): elimina el componente especificado del diseño del contenedor.
11. preferredLayoutSize (Contenedor principal): determina el tamaño preferido del contenedor.
12. minimumLayoutSize (contenedor principal): determina el tamaño mínimo del contenedor.
13. layoutContainer (contenedor principal): presenta el contenedor especificado.

14. toString (): devuelve la representación de cadena de los valores de diseño de cuadrícula.

Artículos recomendados

Esta es una guía de Gridlayout en Java. Aquí hemos discutido los tipos de constructores con ejemplos, códigos con implementación. También puede consultar nuestros otros artículos relacionados para obtener más información.

  1. Combinar Ordenar en Java
  2. Diseño en Java
  3. Los mejores compiladores de Java
  4. Destructor en Java
  5. Diseño HTML