屏幕截图在这里:http://imgur.com/a/33rhe

java - 为什么按钮在Java Swing中不在中心?-LMLPHP

我正在使用此代码:

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,我希望我的按钮可以集中显示,但是它们不在渲染中心。问题是什么?我做错了什么?

我是新手,想了解那里发生的事情

最佳答案

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

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

所以我会做类似的事情:

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

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


现在,“ buttonPanel”将在垂直和水平方向居中。

09-11 17:59