java - Swing 面板可调整间隙

标签 java swing layout layout-manager grouplayout

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

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);
    }

最佳答案

我已经找到了这个问题的解决方案::) 只需将 .addGap() 替换为 .addContainerGap() 即可,这样做后效果很好。

关于java - Swing 面板可调整间隙,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13789211/

相关文章:

java - com.microsoft.sqlserver.jdbc.SQLServerException : The server version is not supported. 目标服务器必须是SQL Server 2000或更高版本

java 到 mysql。我需要从字符串参数转换为时间戳

java - ExceptionMapper 在 grizzly 中不起作用

java - boolean 值不会改变

java - 如何在多显示器环境下全屏显示JFrame?

java - 手动更改 GroupLayout 中的垂直组

java - 从位于另一个类中的 JButton 的 actionPerformed 更改 JTextArea 文本

html - 相对于同级 div 具有偏移量的堆叠 div

javascript - 禁用滚动条

影响外部 <div> 的 CSS margin-top