2008-10-01 14 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()); 

あなたの質問はあまり明確ではありませんが、あなたはJLabelののpreferredSizeがを変更する必要があり、あなたがコンポーネント間の分離を指定するGridBagLayout Managerを使用することができ、あなただけのコンテナでのGridBagLayoutを使用して、インセットをspecifiying GridBagConstraintsオブジェクトとそれにJXLabelを追加する必要がいけない

1

左:私は、制約のセットアップで構成プロパティの多くを省略している

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

関連する問題