MainClass.java Source code

Java tutorial

Introduction

Here is the source code for MainClass.java

Source

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

    }

}