2008-10-01 42 views
6

我有一个JLabel(实际上,它是一个JXLabel)。如何用JLabel添加水平间隙

我已经把图标和文字放在上面。

<icon><text>

现在我的魔杖添加一些间距在组件的左侧,这样的:

<space><icon><text>

我不接受建议移动的JLabel或添加间隔修改图像。

我只是想知道如何用普通的java代码。

回答

13

的documentacion我已经找到了解决方案!

setBorder(new EmptyBorder(0,10,0,0)); 

谢谢大家!

4

的是这样的:不是很清楚,但你可以通过添加一定宽度的透明边框的标签

2

如果你想将标签推到一边的是容器中加入间距,你可以添加一个胶水。类似这样的:

JPanel panel = new JPanel(); 
panel.setLayoutManager(new BoxLayout(panel, BoxLayout.LINE_AXIS); 

panel.add(new JLabel("this is your label with it's image and text")); 

panel.add(Box.createHorizontalGlue()); 

虽然你的问题不是很清楚。

1

你不需要修改的JLabel的首选大小,您可以使用GridBagLayout管理器来指定组件之间的分离,你只需要使用GridBagLayout的容器中,并添加JXLabel将其与GridBagConstraints对象specifiying的插图向左:

JPanel panel=new JPanel(new GridBagLayout()); 
JLabel label=new JLabel("xxxxx"); 

GridBagConstraints constraints=new GridBagConstraints(); 

constraints.insest.left=X; // X= number of pixels of separation from the left component 

panel.add(label,constraints); 

注意,我已经在限制的设置省略了很多配置属性的,你最好看的GridBagLayout