为什么按钮不在Java Swing的中心?

时间:2017-05-01 15:43:45

标签: java swing

屏幕截图位于:http://imgur.com/a/33rhe

enter image description here

我正在使用此代码:

layout.setHorizontalGroup(
        layout.createSequentialGroup()
            .addComponent(greeting)
            .addGroup(layout.createParallelGroup(GroupLayout.Alignment.CENTER)
                    .addGap(0,0,Short.MAX_VALUE)
                        .addComponent(english)
                        .addComponent(german)
                        .addComponent(french))
            .addGroup(layout.createSequentialGroup()
                .addGap(0,0,Short.MAX_VALUE)
                .addComponent(quit))
    );

因此,使用此GroupLayout.Alignment.CENTER我希望我的按钮会集中,但它们不在渲染中心。问题是什么?我做错了什么?

我是一个新手,并试图了解那里发生了什么

1 个答案:

答案 0 :(得分:1)

我从不手动使用GroupLayout。它通常由IDE使用。所以我不知道为什么GroupLayout没有做你期望的事情。

相反,我会在需要时使用嵌套布局手动构建我的GUI。

所以我会这样做:

JPanel buttonPanel = new JPanel( new GridLayout(...) );
buttonPanel.add(...);

frame.setLayout( new GridBagLayout() );
frame.add(buttonPanel, new GridBagConstraints());

现在" buttonPanel"将垂直和水平居中。