user1734945
user1734945

Reputation: 79

difficulties in understanding GroupLayout

enter image description here

I wanted to do something that looks like the one which frame is in BLUE(right side), so i started out with a simple one which has 3 panels(on the top left)

I couldn't seems to figure out how to use GroupLayout and the following is my code for it. It turns out to be the one on the bottom left. Anyone can tell me where is wrong with my understanding on GroupLayout ? Thanks.

layout.setHorizontalGroup(layout.createSequentialGroup()
        .addComponent(yellow)
        .addComponent(green)
        .addGroup(layout.createParallelGroup())
            .addComponent(pink)

    );
layout.setVerticalGroup(layout.createSequentialGroup()
        .addGroup(layout.createParallelGroup())
            .addComponent(yellow)
            .addComponent(green)
        .addComponent(pink) 
    );

Upvotes: 4

Views: 279

Answers (1)

Howard
Howard

Reputation: 39187

Looking at the horizontal layout you have an upper part (yellow/green) and a lower part (pink) in parallel. The upper part displays a sequence of yellow and green:

layout.setHorizontalGroup(
    layout.createParallelGroup()                    // upper and lower part show parallel layout
        .addGroup(layout.createSequentialGroup()    // <- upper part
            .addComponent(yellow)
            .addComponent(green)
        ).addComponent(pink)                        // <- lower part
);

On the other hand the vertical layout is a sequence of upper part (yellow and green in parallel, i.e. side by side) and the lower part (pink).

layout.setVerticalGroup(
    layout.createSequentialGroup()                  // upper and lower part sequentially
        .addGroup(layout.createParallelGroup()      // <- upper part
            .addComponent(yellow)
            .addComponent(green)
        ).addComponent(pink)                        // <- lower part
);

Upvotes: 1

Related Questions