GridLayout lo podríamos traducir como diseño cuadricula y distribuirá nuestro marco formando una cuadricula como la de una hoja de Excel.
Constructor:
GridLayout () constructor por defecto
crea una columna por cada componente que tenga en una sola fila
GridLayout (int
rows, int cols) crea las filas y
columnas que le indiquemos nosotros (rows = filas, cols = columnas).
GridLayout (int
rows, int cols, int hgap, int vgap) crea las filas y columnas que le indiquemos y
da separación entre los objetos ( hgap
= separcion horizontal, vgap = separación vertical).
En el siguiente ejemplo vamos a
crear dos laminas una en la que incluiremos los números y otra en la que
ponderemos un cuadro de texto.
import java.awt.*;
import javax.swing.*;
public class
otroEjemplodelayout {
public static void main (String[] asgs) {
(new
Marco123456789()).setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
(new Marco123456789()).setVisible(true);
}
}
class Panel extends JPanel{
public Panel() {
setLayout(new GridLayout(5,3));//rows (filas), cols(columnas)
add(new JButton("1"));
add(new JButton("2"));
add(new JButton("3"));
add(new JButton("4"));
add(new JButton("5"));
add(new JButton("6"));
add(new JButton("7"));
add(new JButton("8"));
add(new JButton("9"));
add(new JButton("0"));
add(new JButton("+"));
add(new JButton("-"));
add(new JButton("/"));
add(new JButton("*"));
}
}
class Consola extends JPanel{
public Consola(){
JTextField cuadro_texto =new
JTextField ("0",15);
cuadro_texto.setBackground(Color.magenta);
cuadro_texto.setFont(new Font("Arial Black",Font.BOLD,25));
add(cuadro_texto);
}
}
class Marco123456789 extends JFrame{
public Marco123456789() {
setTitle("Practica");
setBounds(300,100,500,500);
Panel Panel_de_cuerpo =new
Panel();
Consola zona_calculo = new
Consola();
//combinamos las dos
laminas en un frame
add(zona_calculo, BorderLayout.NORTH);
add(Panel_de_cuerpo, BorderLayout.CENTER);
}
}
Obtendríamos el siguiente resultado:
No hay comentarios:
Publicar un comentario