Hola a todos, ¿qué tal? El layout BorderLayout distribuye
los elementos por zonas, norte, sur, este… Siguiendo con la práctica del apartado
anterior:
class PanelLayout
extends JPanel {
public PanelLayout() {
setLayout(new
BorderLayout());
add(new JButton("Amarillo"), BorderLayout.NORTH);
add(new JButton("Azul"), BorderLayout.SOUTH);
add(new JButton("Rojo"), BorderLayout.WEST);
add(new JButton("Verde"), BorderLayout.EAST);
}
}
Probamos:
Por defecto, cuando utilizamos BorderLayout los
componentes no tienen espacio entre sí, si queremos que lo haya se lo hemos de
indicar en el constructor:
setLayout(new
BorderLayout(10,10));
Probamos:
No podemos utilizar diferentes layouts en una lámina,
si queremos usar varios layouts tenemos que crear una lámina para cada uno de
ellos. Tal y como tenemos el código la lámina que ya tenemos creada va utilizar
el layout FlowLayout y nos vamos a crear una nueva lámina que
va a utilizar el layout BorderLayout, el código va a ser como
sigue:
class PanelLayout
extends JPanel {
public PanelLayout() {
setLayout(new
FlowLayout(FlowLayout.CENTER));
add(new JButton("Amarillo"));
add(new JButton("Azul"));
}
}
class PanelLayout2
extends JPanel {
public PanelLayout2()
{
setLayout (new
BorderLayout());
add(new JButton("Rojo"), BorderLayout.WEST);
add(new JButton("Verde"), BorderLayout.EAST);
add(new JButton("Rosa"), BorderLayout.CENTER);
}
}
Ahora en el constructor del marco instanciamos la
segunda lámina:
public MarcoLayout() {
setTitle("Práctica
Layout I");
setBounds(500, 300, 350, 200);
PanelLayout milayout = new PanelLayout();
PanelLayout2 milayout2 = new PanelLayout2();
add(milayout);
add(milayout2);
}
Sin embargo, si probamos nos va a aparecer la segunda lámina:
Ya que tal y como tenemos el código lo que hace la
segunda lámina es “machacar” la primera. Para que aparezcan las dos se
lo indicamos por zonas:
add(milayout, BorderLayout.NORTH);
add(milayout2,
BorderLayout.SOUTH);
Probamos:
Vemos que nos aparecen las dos láminas.
Con cualquier duda lo podéis hacer a través de los
comentarios del blog. Hasta pronto!
6.2 SEPARACIÓN ENTRE COMPONENTES << >> 6.4GRIDLAYOUT
No hay comentarios:
Publicar un comentario