2008-10-01 14 views
6

Ich habe ein JLabel (eigentlich ist es ein JXLabel).So fügen Sie eine horizontale Lücke mit einem JLabel hinzu

Ich habe ein Symbol und einen Text darauf gelegt.

<icon><text>

Nun wand ich etwas Abstand auf der linken Seite der Komponente hinzuzufügen, wie folgt aus:

<space><icon><text>

I Vorschlag nicht akzeptieren, die JLabel zu bewegen oder den Abstand hinzufügen, indem Sie das Bild ändern.

Ich möchte nur wissen, wie man es mit Plain-Java-Code macht.

Antwort

13

las ich die Lösung gefunden zu haben!

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

Danke allen!

4

Die so: ist nicht ganz klar, aber man kann durch Zugabe eines transparenten Rand einer bestimmten Breite auf dem Etikett Abstand hinzufügen

2

Wenn Sie versuchen, das Etikett zu einer Seite zu schieben davon Behälter ist, Sie können einen Kleber hinzufügen. Etwas wie dieses:

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()); 

Obwohl Ihre Frage nicht sehr klar ist.

1

Sie brauchen nicht die preferredSize des JLabel zu ändern, können Sie die GridBagLayout Manager Trennungen zwischen den Komponenten zu spezifizieren, müssen Sie nur die GridBagLayout in dem Behälter verwenden und die JXLabel um es mit einem GridBagConstraints Objekt hinzufügen, um die Einsätze folgenden Einzelheiten nach links:

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); 

Bitte beachte, dass ich viele Konfigurationseigenschaften im Setup der Einschränkungen weggelassen haben, besser Sie die documentacion von GridBagLayout