【发布时间】:2015-01-29 18:15:46
【问题描述】:
有没有更简单的方法来删除 FlowLayout 中第一个组件前面的水平空间?
这基本上是我的代码的样子:
JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 0));
JLabel label1 = new JLabel("Hello");
JLabel label2 = new JLabel("Goodbye");
panel.add(label1);
panel.add(label2);
我看到的是 label1 和 label2 之间存在水平间隙,但是它还在 label1 前面添加了间距。我目前的解决方案是删除水平间隙并向 label2 添加 EmptyBorder 来解决此问题。
但是对于有很多组件的情况,我想知道是否有更简单有效的方法来做这么简单的事情?
【问题讨论】:
-
你用的是什么版本的JPanel?我想知道,因为您在构造函数中使用了 3 个参数(比较:docs.oracle.com/javase/7/docs/api/javax/swing/JPanel.html)。
-
一般情况下,人们希望第一个组件前面有空隙。它看起来更好。
-
@user2438518 抱歉,已修复代码。 Gilbert Le Blanc:是的,但我需要让标签向左对齐,这就是我需要删除间距的原因。
-
如果您希望许多标签和字段的列对齐,请使用 GridBagLayout。
标签: java swing flowlayout