摆动面板可调整的差距

时间:2012-12-09 16:20:52

标签: java swing layout layout-manager grouplayout

我正在使用eclipse和windowsbuilder来制作java gui应用程序。我在维护摆动面板中的部件填充方面遇到了麻烦。我正在使用windowbuilder设计器中的组布局来定位组件。但遗憾的是,当窗口重新调整大小时,我无法保持填充。

window on normal size
普通窗口

Window on maximized 重新调整大小或最大化时的窗口

当窗口重新调整大小时,我希望让我的应用程序自动重新调整水平和垂直间隙的大小,就像第三张图像一样,以便正确维护组件填充。 Window padding i wish to have

代码:

public myframe() {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        contentPane.setLayout(new BorderLayout(0, 0));
        setContentPane(contentPane);

        JPanel panel = new JPanel();
        contentPane.add(panel, BorderLayout.CENTER);

        JButton btnNewButton = new JButton("New button");
        GroupLayout gl_panel = new GroupLayout(panel);
        gl_panel.setHorizontalGroup(
            gl_panel.createParallelGroup(Alignment.TRAILING)
                .addGroup(Alignment.LEADING, gl_panel.createSequentialGroup()
                    .addGap(166)
                    .addComponent(btnNewButton)
                    .addContainerGap(169, Short.MAX_VALUE))
        );
        gl_panel.setVerticalGroup(
            gl_panel.createParallelGroup(Alignment.LEADING)
                .addGroup(gl_panel.createSequentialGroup()
                    .addGap(37)
                    .addComponent(btnNewButton)
                    .addContainerGap(192, Short.MAX_VALUE))
        );
        panel.setLayout(gl_panel);
    }

1 个答案:

答案 0 :(得分:0)

我找到了这个解决方案::) 只需用.addContainerGap()替换.addGap()就行了。

相关问题