2008-10-01 8 views
6

J'ai un JLabel (en fait, c'est un JXLabel).Comment ajouter un espace horizontal avec un JLabel

J'ai mis une icône et du texte dessus.

<icon><text>

Maintenant, je baguette magique pour ajouter un peu de distance sur le côté gauche du composant, comme celui-ci:

<space><icon><text>

JE N'accepte la suggestion de déplacer le JLabel ou ajouter un espacement par modifier l'image. Je veux juste savoir comment le faire avec du code Java simple.

Répondre

13

J'ai trouvé la solution!

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

Merci à tous!

4

La présente comme suit: est pas très clair, mais vous pouvez ajouter des espaces en ajoutant une bordure transparente d'une certaine largeur à l'étiquette

2

Si vous essayez de pousser l'étiquette d'un côté de son emballage, vous pouvez ajouter une colle. Quelque chose comme ceci:

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

Bien que votre question ne soit pas très claire.

1

Vous ne devez modifier le preferredSize du JLabel, vous pouvez utiliser le Gestionnaire GridBagLayout pour spécifier les séparations entre les composants, il suffit d'utiliser le GridBagLayout dans le récipient et ajouter le JXLabel à lui avec un objet GridBagConstraints specifiying EISN à gauche:

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

Notez que j'ai omis beaucoup de propriétés de configuration dans la configuration des contraintes, vous feriez mieux de lire le documentacion de GridBagLayout