另一种"更好的方法"是使用更好的布局管理器:
MigLayout:
一个非常灵活且易于使用的布局管理器,适用于Swing和SWT.
它可以做表格布局,表格布局和几乎所有的Swing布局管理器,可以简单地理解基于字符串和/或API的编码.
它的目标是手动编码布局,Matisse/Group Layout适用于IDE.
JPanel panel = new JPanel(new MigLayout());
panel.add(firstNameLabel);
panel.add(firstNameTextField);
panel.add(lastNameLabel, "gap unrelated");
panel.add(lastNameTextField, "wrap");
panel.add(addressLabel);
panel.add(addressTextField, "span, grow");
Run Code Online (Sandbox Code Playgroud)
(来源:miglayout.com)
JavaDesktop是这类问题的完整信息来源.
最近,我发现(但不是直接使用它)Flamingo swing组件套件令人印象深刻.
特别是因为它允许集成一个最新的最新UI设计:色带
(它不是一种新的开发方式,因为它仍然是一个经典的Swing组件,而不是 - 例如 - 基于XML的swing规范,但我会看看javadestop的其他项目,以便为你的问题提供其他插图)