BoxLayout Variations


public class BoxLayoutDemo {
    public static void addComponentsToPane(Container pane) {
        pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));

        addAButton("Button 1", pane);
        addAButton("Button 2", pane);
        addAButton("Button 3", pane);
        addAButton("Long-Named Button 4", pane);
        addAButton("5", pane);
    }

public class BoxLayoutDemo2 {
    public static void addComponentsToPane(Container pane) {
        pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));

       JPanel p = new JPanel();
       addAButton("Button 1", p);
        addAButton("Button 2", p);
        pane.add(p);
        addAButton("Button 3", pane);
        addAButton("Long-Named Button 4", pane);
        addAButton("5", pane);
    }

public class BoxLayoutDemo3 {
    public static void addComponentsToPane(Container pane) {
        pane.setLayout(new BoxLayout(pane, BoxLayout.Y_AXIS));

       JPanel p = new JPanel();
       addAButton("Button 1", p);
        addAButton("Button 2", p);
        pane.add(p);
        JPanel p2 = new JPanel();
        addAButton("Button 3", p2);
        pane.add(p2);
         JPanel p3 = new JPanel();
        addAButton("Long-Named Button 4", p3);
        pane.add(p3);
        JPanel p4 = new JPanel();
        addAButton("5", p4);
        pane.add(p4);
    }

Notice there is some space surrounding a JPanel. Resizing the applications is also interesting. The different versions behave very differently.


Maintained by John Loomis, last updated 26 March 2020