Seguidores

MIS WEBS



domingo, 18 de marzo de 2018

DISEÑO DE CAJA CONTENEDOR (BoxLayout )


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);

Métodos de BoxLayout:

§   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




EJERCICIO PRACTICO:

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

Buscar este blog

Sandisk y Western Digital