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