BoxLayout (diseño
caja): Dispone todos los objetos en cajas que podemos organizar de
diferentes formas utilizando sus métodos. Pude venirnos muy bien para formularios.
para mensajes de alerta, cajas de password…
No tenemos que
crear láminas y luego unirlas al marco, creamos las cajas (Box) y las unimos al
marco.
Sintaxis general:
JPanel LaminaRadioButton = new
JPanel();
LaminaRadioButton.setLayout(new BoxLayout(LaminaRadioButton, BoxLayout.PAGE_AXIS));
Azul= new
JRadioButton("Azul");
Rojo= new
JRadioButton("Rojo");
Verde= new
JRadioButton("Verde");
LaminaRadioButton.add(Rojo);
LaminaRadioButton.add(Verde);
LaminaRadioButton.add(Azul);
§
createHorizontalBox() dispone las cajas una al lado de otra a lo
largo de la lámina. Si excedemos el tamaño de la lámina los elementos que
queden fuera no los veríamos. Para poder verlos tendríamos que ampliar la caja.
§
createVerticalBox() dispone las cajas una encima de otra a lo largo
de nuestra lámina. Si excedemos el tamaño de la lámina los elementos que queden
fuera no los veríamos Para poder verlos tendríamos que ampliar la caja.
§
createVerticarStrut(int height) determina
la distancia Vertical entre cajas utilizando un intger que le pasamos por parámetros.
§
createHorizontalStrut(int Width) determina
la distancia horizontal entre cajas utilizando un intger que le pasamos
§ createGlue() adapta la distancia que existe entre dos componentes
cuando se redimiensiona el marco, por lo que la distancia se ampliara proporcionalmente
cuando ampliemos
public class ejemoloBoxLayout {
public static void main(String[] args) {
MarcoBox x = new MarcoBox();
x.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
x.setVisible(true);
}
}
class MarcoBox extends JFrame{
public MarcoBox() {
setTitle ("caja Box");
setBounds(700,100,300,200);
texto1 = new JLabel("USUSRIO");
texto2 = new JLabel("contraseña");
cajatexto1 = new JTextField(10);
cajatexto2 = new JTextField(10);
Boton1 = new JButton("ACCEDER");
Boton2 = new JButton("NO ACCEDER");
cajatexto1.setMaximumSize(cajatexto1.getPreferredSize());
cajatexto2.setMaximumSize(cajatexto2.getPreferredSize());
Box principal = Box.createVerticalBox();
Box caja1 = Box.createHorizontalBox();
caja1.add(texto1);
caja1.add(Box.createHorizontalStrut(15));//espacio entre cajas
caja1.add(cajatexto1);
Box caja2 = Box.createHorizontalBox();
caja2.add(texto2);
caja2.add(Box.createHorizontalStrut(15));//espacio entre cajas
caja2.add(cajatexto2);
Box caja3 = Box.createHorizontalBox();
caja3.add(Boton1);
caja3.add(Box.createGlue());//espacio entre cajas
dinamico
caja3.add(Boton2);
principal.add (caja1);
principal.add (caja2);
principal.add (caja3);
add(principal,BorderLayout.CENTER);
}
private JLabel texto1,texto2;
private JTextField cajatexto1,cajatexto2;
private JButton Boton1,Boton2;
}
Muchas gracias a todos/as, espero que os pueda ser útil. Seguiré compartiendo conforme aprenda.
No hay comentarios:
Publicar un comentario