Seguidores

MIS WEBS



domingo, 18 de marzo de 2018

SpringLayout (diseño primavera o muelle)


  Nos permite especificar relaciones entre los componentes bajo nuestro control.  
Creamos una especie de muelles entre los objetos y cuando se redimensiona adquieren la separación dependiendo de los parámetros que le pasemos. A mayor tensión  más le costará estirar entre botones, contra menor sea la tensión más se separaran.



1.       Crearemos un SpringLayout en nuestra lámina para disponerla con este diseño predeterminado de java.
SpringLayout LY_Spring = new SpringLayout();
2.       Mas adelante crearemos una instancia a la clase Spring.
Spring separador = Spring.constant(0, 10, 100);
3.       Ahora Utilizaremos el método PutContraint(inicio muelle,ElementoUnion,Objeto Spring creado,proximoObjeto)
LY_Spring.putConstraint(SpringLayout.WEST, BOTON1, separador, SpringLayout.WEST, this);
  LY_Spring.putConstraint(SpringLayout.WEST, BOTON2, separador, SpringLayout.EAST, BOTON1);
  LY_Spring.putConstraint(SpringLayout.WEST, BOTON3, separador, SpringLayout.EAST, BOTON2);
  LY_Spring.putConstraint(SpringLayout.EAST, this, separador, SpringLayout.EAST, BOTON3);




Por lo que el código completo sería el siguiente:

import javax.swing.*;

public class PracticaSrpingLayout {
         public static void main (String[] args) {
                   MarcoPracticaSrpingLayout xyy = new MarcoPracticaSrpingLayout();
                  
                   xyy.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                   xyy.setVisible(true);
                   xyy.add(xyy);
         }
}

        
class MarcoPracticaSrpingLayout extends JFrame{
         public MarcoPracticaSrpingLayout() {
                   setBounds(700,200,500,350);
                   LaminaMuelle lam = new LaminaMuelle();
                   lam.setVisible(true);      
         add(lam);
         }

class LaminaMuelle extends JPanel{
        
         public LaminaMuelle(){
                  
                   BOTON1= new JButton ("muelle 1");
                   BOTON2= new JButton ("muelle 2");
                   BOTON3= new JButton ("muelle 3");
                   //******* carga del layout  **********
                   SpringLayout LY_Spring = new SpringLayout();
                   setLayout(LY_Spring);
                   add(BOTON1);
                   add(BOTON2);
                   add(BOTON3);      
                   Spring separador = Spring.constant(10, 30, 200);
                   LY_Spring.putConstraint(SpringLayout.WEST, BOTON1, separador, SpringLayout.WEST, this);
                   LY_Spring.putConstraint(SpringLayout.WEST, BOTON2, separador, SpringLayout.EAST, BOTON1);
                   LY_Spring.putConstraint(SpringLayout.WEST, BOTON3, separador, SpringLayout.EAST, BOTON2);
                   LY_Spring.putConstraint(SpringLayout.EAST, this, separador, SpringLayout.EAST, BOTON3);



         }
         JButton BOTON1,BOTON2,BOTON3;
}

}


No hay comentarios:

Publicar un comentario

Buscar este blog

Sandisk y Western Digital