2008-10-01 80 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