JAVA - Espace texte /bordures JLabel

Résolu
Shankara Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -  
Shankara Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je débute sous Java et je voudrais savoir s'il est possible d'augmenter l'espace entre le texte contenu dans un JLabel et ses bordures, et si oui comment. En effet, mes bordures sont collées à mon texte, et je voudrais aérer tout cela. J'ai essayé d'utiliser ce genre de chose :
...

private JLabel label = new JLabel("Veuillez sélectionner votre compte :");
private int dim1Label;
private int dim2Label;
private int labelX;
private int labelY;

...

FontMetrics metrics = label.getFontMetrics(label.getFont());
dim1Label = metrics.stringWidth(label.getText())+20;
dim2Label = metrics.getHeight()+20;
label.setSize(new Dimension(dim1Label,dim2Label));
labelX = (int)label.getLocation().getX()-10;
labelY = (int)label.getLocation().getY()+10;
label.setBounds(labelX, labelY, dim1Label, dim2Label);

...


Mais mes bordures restent collées au texte. :colere2:

Quelqu'un aurait-il la solution svp ?
Merci d'avance.

A voir également:

3 réponses

Shankara Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   4
 
J'ai enfin réussi à trouver après 2 jours de recherche. Je ne sais pas si la méthode que j'ai trouvée est celle que l'on utilise lorsque l'on programme dans les règles de l'art, mais cette supposée bidouille me convient pour l'instant.
Il faut utiliser la méthode setBorder du JLabel en créant une bordure vide, qui permet de créer de l'espace autour du texte mais qui ne dessine pas la bordure. Une émulation de marges en fait.

Ca donne ça :
label.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));


Merci à ceux qui auront pris la peine de me lire et en espérant avoir pu aider d'autres personnes.
A bientôt pour de nouvelles questions de débutante paumée ...
1
choubaka Messages postés 39442 Date d'inscription   Statut Modérateur Dernière intervention   2 105
 
salut

label.setHorizontalTextPosition(JLabel.CENTER);
0
Shankara Messages postés 27 Date d'inscription   Statut Membre Dernière intervention   4
 
Ta solution ne fonctionne pas désolée ... Merci quand même. Une autre idée ?
0