import java.awt.Container; 
 
import javax.swing.JButton; 
import javax.swing.JFrame; 
import javax.swing.JPanel; 
import javax.swing.Spring; 
import javax.swing.SpringLayout; 
 
public class MainClass { 
 
  public static void main(String[] args) { 
    JFrame aWindow = new JFrame(); 
    aWindow.setBounds(200, 200, 200, 200); 
    aWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
 
    Container content = aWindow.getContentPane(); 
    content.add(new SpringLayoutPanel()); 
    aWindow.setVisible(true); 
  } 
} 
 
class SpringLayoutPanel extends JPanel { 
 
  public SpringLayoutPanel() { 
 
    SpringLayout layout = new SpringLayout(); 
    setLayout(layout); 
 
    JButton[] buttons = new JButton[6]; 
    for (int i = 0; i < buttons.length; i++) { 
      buttons[i] = new JButton("Press " + (i + 1)); 
      add(buttons[i]); 
    } 
 
    Spring xSpring = Spring.constant(5, 15, 25); 
    Spring ySpring = Spring.constant(10, 30, 50); 
    Spring wSpring = Spring.constant(30, 80, 130); 
 
    SpringLayout.Constraints buttonConstr = layout.getConstraints(buttons[0]); 
    buttonConstr.setX(xSpring); 
    buttonConstr.setY(ySpring); 
 
    for (int i = 0; i < buttons.length; i++) { 
      buttonConstr = layout.getConstraints(buttons[i]); 
      buttonConstr.setHeight(ySpring); 
      buttonConstr.setWidth(wSpring); 
 
      if (i > 0) { 
        layout.putConstraint(SpringLayout.WEST, buttons[i], xSpring, 
            SpringLayout.EAST, buttons[i - 1]); 
        layout.putConstraint(SpringLayout.NORTH, buttons[i], ySpring, 
            SpringLayout.SOUTH, buttons[i - 1]); 
      } 
    } 
 
    SpringLayout.Constraints constr = layout.getConstraints(this); 
    constr.setConstraint(SpringLayout.EAST, Spring.sum(buttonConstr 
        .getConstraint(SpringLayout.EAST), Spring.constant(15))); 
    constr.setConstraint(SpringLayout.SOUTH, Spring.sum(buttonConstr 
        .getConstraint(SpringLayout.SOUTH), Spring.constant(10))); 
 
  } 
 
} 
 
            
       
  |