La clase GridLayout representa un administrador de diseño con un número específico de filas y columnas en una cuadrícula rectangular. El contenedor GridLayout se divide en rectángulos del mismo tamaño y uno de los componentes se coloca en cada rectángulo. Cada celda rectangular tiene el mismo tamaño, por lo tanto, contienen un componente que llena toda la celda. Cuando el usuario cambia o ajusta el tamaño del contenedor, el tamaño de cada rectángulo cambia en consecuencia.
Constructores de la clase:
- GridLayout(): crea un diseño de cuadrícula con un valor predeterminado de una columna por componente, en una sola fila.
- GridLayout (int rw, int cl): crea un diseño de cuadrícula con el número especificado de filas y columnas.
- GridLayout(int rw, int cl, int hgap, int vgap): crea un diseño de cuadrícula con el número especificado de filas y columnas con espacio horizontal y vertical.
Métodos comúnmente utilizados:
- addLayoutComponent(String str, Component cmp): agrega el componente especificado con el nombre especificado al diseño.
- setColumns(int cl): Establece el número de columnas en este diseño al valor especificado.
- setHgap(int hgap): establece el espacio horizontal entre los componentes en el valor especificado.
- setRows(int rw): Establece el número de filas en este diseño al valor especificado.
- setVgap(int vgap): establece el espacio vertical entre los componentes en el valor especificado.
- layoutContainer(Container pr): presenta el contenedor especificado utilizando este diseño.
- toString(): Devuelve la representación de string de los valores de este diseño de cuadrícula.
Los siguientes programas ilustran la clase GridLayout:
- Programa 1: en el siguiente programa, estamos pasando el argumento en GridLayout . Creamos 4 componentes JLabel llamados » uno «, » dos «, » tres «, » cuatro » y creamos 2 componentes JButton llamados » buttonsave « y » buttonexit » y creamos 4 componentes Jtextfield llamados » tname «, » tcode «, » tdesig “, “ tsalary ” y todos los agregan al JFrame mediante el método add(). Estableceremos la visibilidad y el tamaño del marco usando setVisible() ymétodo setSize() . El diseño se establece mediante el método setLayout() .
// Java program to illustrate the GridLayout
import
javax.swing.*;
import
java.awt.*;
// class GridLayout extends JFrame
public
class
GridLayoutDemo
extends
JFrame {
GridLayoutDemo() {
// Creating Object P1 of JPanel class
JPanel p1 =
new
JPanel();
// set the layout
p1.setLayout(
new
GridLayout(
4
,
2
));
// Creating Object of "FlowLayout" class
FlowLayout layout =
new
FlowLayout();
// Creating Object P2 of JPanel class
JPanel p2 =
new
JPanel();
// set the layout
p2.setLayout(layout);
// Declaration of objects of JLabel class.
JLabel one, two, three, four;
// Declaration of objects of JTextField class.
JTextField tname, tsalary, tcode, tdesig;
// Declaration of objects of JButton class.
JButton buttonSave, buttonExit;
// Initialization of object
// "one" of JLabel class.
one =
new
JLabel(
"NAME"
);
// Initialization of object
// "tname" of JTextField class.
tname =
new
JTextField(
20
);
// Initialization of object
// "two" of JLabel class.
two =
new
JLabel(
"CODE"
);
// Initialization of object
// "tcode" of JTextField class.
tcode =
new
JTextField(
20
);
// Initialization of object
// "three" of JLabel class.
three =
new
JLabel(
"DESIGNATION"
);
// Initialization of object
// "tdesig" of JTextField class.
tdesig =
new
JTextField(
20
);
// Initialization of object
// "four" of JLabel class.
four =
new
JLabel(
"SALARY"
);
// Initialization of object
// "tsalary" of JTextField class.
tsalary =
new
JTextField(
20
);
// Initialization of object
// "buttonsave" of JButton class.
buttonSave =
new
JButton(
"SAVE"
);
// Initialization of object
// "buttonexit" of JButton class.
buttonExit =
new
JButton(
"EXIT"
);
// Adding Jlabel "one" on JFrame.
p1.add(one);
// Adding JTextField "tname" on JFrame.
p1.add(tname);
// Adding Jlabel "two" on JFrame.
p1.add(two);
// Adding JTextField "tcode" on JFrame.
p1.add(tcode);
// Adding Jlabel "three" on JFrame.
p1.add(three);
// Adding JTextField "tdesig" on JFrame.
p1.add(tdesig);
// Adding Jlabel "four" on JFrame.
p1.add(four);
// Adding JTextField "tsalary" on JFrame.
p1.add(tsalary);
// Adding JButton "buttonsave" on JFrame.
p2.add(buttonSave);
// Adding JButton "buttonexit" on JFrame.
p2.add(buttonExit);
// add the p1 object which
// refer to the Jpanel
add(p1,
"North"
);
// add the p2 object which
// refer to the Jpanel
add(p2,
"South"
);
// Function to set visible
// status of JFrame.
setVisible(
true
);
// this Keyword refers to current
// object. Function to set size of JFrame.
this
.setSize(
400
,
180
);
}
// Main Method
public
static
void
main(String args[])
{
// calling the constructor
new
GridLayoutDemo();
}
}
Producción:
- Programa 2: en el siguiente programa, estamos pasando el argumento en GridLayout . Creamos 5 componentes JButton llamados » btn1 « , » btn2 «, » btn3 «, » btn4 «, » btn5 » y luego los agregamos al JFrame mediante el método add() . Estableceremos la visibilidad y el tamaño del marco usando el método setvisible() y setsize() . El diseño se establece mediante el método setLayout() .
// Java program to illustrate the GridLayout
import
java.awt.*;
import
javax.swing.*;
// create a class griddemo
public
class
Griddemo {
// Main Method
public
static
void
main(String[] args)
{
// Creating Object of JFrame class
// with new name frame
JFrame frame =
new
JFrame(
"GridLayout Demo"
);
// Initialization of object
// "btn1" of JButton class.
JButton btn1 =
new
JButton(
"Button 1"
);
// Initialization of object
// "btn2" of JButton class.
JButton btn2 =
new
JButton(
"Button 2"
);
// Initialization of object
// "btn3" of JButton class.
JButton btn3 =
new
JButton(
"Button 3"
);
// Initialization of object
// "btn4" of JButton class.
JButton btn4 =
new
JButton(
"Button 4"
);
// Initialization of object
// "btn5" of JButton class.
JButton btn5 =
new
JButton(
"Button 5"
);
// Creating Object Panel of JPanel class
// create grid layout with 3 rows,
// 2 columns with horizontal and
// vertical gap set to 10
JPanel panel =
new
JPanel(
new
GridLayout(
3
,
2
,
10
,
10
));
// Adding JButton "btn1" on JPanel.
panel.add(btn1);
// Adding JButton "btn2" on JPanel.
panel.add(btn2);
// Adding JButton "btn3" on JPanel.
panel.add(btn3);
// Adding JButton "btn4" on JPanel.
panel.add(btn4);
// Adding JButton "btn5" on JPanel.
panel.add(btn5);
// Function to close the operation of JFrame.
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// Function to set size of JFrame.
frame.setSize(
300
,
150
);
// Function to get the content of JFrame.
frame.getContentPane().add(panel);
// Function to set visible status of JFrame.
frame.setVisible(
true
);
}
}
Producción:
Nota: Es posible que los programas anteriores no se ejecuten en un IDE en línea. Utilice un compilador fuera de línea.
Referencia: https://docs.oracle.com/javase/7/docs/api/java/awt/GridLayout.html
Publicación traducida automáticamente
Artículo escrito por Shivi_Aggarwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA