Java Swing GroupLayout将组件与父组件对齐

时间:2016-09-12 15:08:49

标签: java swing user-interface layout-manager grouplayout

我已经构建了一个JFrame,其中两个面板对齐如下:

PANEL1

是Panel2

所以他们的宽度匹配。但是panel2的宽度大于panel1的宽度。因此,面板被拉伸但不是内部的部件。 我已经用这样的组布局构建了panel1的布局:

label1 label2

label3 label4

               button1 #### <-- there is still space but the button does not align with its parent's right

这是我的代码:

GroupLayout layout = new GroupLayout(this);
layout.setAutoCreateGaps(true);
layout.setAutoCreateContainerGaps(true);
layout.setHorizontalGroup(layout.createParallelGroup()
        .addGroup(layout.createParallelGroup()
                .addGroup(layout.createSequentialGroup()
                        .addComponent(label1)
                        .addComponent(label2))
                .addGroup(layout.createSequentialGroup()
                        .addComponent(label3)
                        .addComponent(label4)))
        .addComponent(button1, GroupLayout.Alignment.TRAILING));

layout.setVerticalGroup(layout.createSequentialGroup()
        .addGroup(layout.createParallelGroup()
                .addComponent(label1)
                .addComponent(label2))
        .addGroup(layout.createParallelGroup()
                .addComponent(label3)
                .addComponent(label4))
        .addGroup(layout.createParallelGroup()
                .addComponent(button1)));

setLayout(layout);

有没有办法使用所有可用空间?这不是默认行为吗?

0 个答案:

没有答案