gho*_*013 2 java swing flowlayout
是否有更简单的方法来删除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);
Run Code Online (Sandbox Code Playgroud)
我看到的是label1和label2之间存在水平间隙,但是,它还在label1前面添加了间距.我目前的解决方案是删除水平间隙并将一个EmptyBorder添加到label2以解决此问题.
但对于有许多组件的情况,我想知道是否有更简单有效的方法来做这么简单的事情?
你可以使用横向BoxLayout:
panel.add( label1 );
panel.add( Box.createHorizontalStrut(5) );
panel.add( label2 );
Run Code Online (Sandbox Code Playgroud)
或者您可以添加EmptyBorder到面板,而不是标签:
panel.setBorder( BorderFactory.createEmptyBorder(0, -5, 0, 0) );
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1274 次 |
| 最近记录: |