8
votes

Supprimer le rembourrage / la marge de Javafx Label

Y a-t-il un moyen de supprimer l'espace par défaut (rembourrage / marge) que JavaFx Label ajoute? Je veux me débarrasser de l'espace affiché entre les lignes noires sur l'image ci-dessous:

Entrez la description de l'image ici

code source: xxx


0 commentaires

4 Réponses :


8
votes

Vous pouvez y parvenir en ajoutant -fx-remplissage: -10 0 0 0; code> à la liste de vos styles.

Pour une solution plus flexible, vous pouvez utiliser FontMetrics Code> Information: P>

FontMetrics metrics = Toolkit.getToolkit().getFontLoader().getFontMetrics(label.getFont());
label.setPadding(new Insets(-metrics.getDescent(), 0, 0, 0));


2 commentaires

Existe-t-il une approche dynamique que la valeur du code de force? Je ne veux pas codé dur (-10 dans votre exemple) une valeur et voir plus tard que le texte réel est coupé


Y a-t-il un autre contrôle que je puisse utiliser qui n'ajoute pas le rembourrage par défaut mais juste le texte?



9
votes

L'une des méthodes plus dynamiques de le faire est d'utiliser un texte code> au lieu d'une étiquette et de définir le bornstype code> comme visuel code>. Il en résulte un texte sans aucun rembourrage sur l'un des côtés du texte, quelle que soit la taille de la police.

Text text = new Text();
text.setBoundsType(TextBoundsType.VISUAL);


1 commentaires

Ne pouvons-nous pas le mettre en utilisant CSS?



0
votes

Pour plus de détails, voir mon message ici Style de soustructure

Vous pouvez aussi le faire comme ça après la étape.show () .

avec l'exemple d'un séparateur: xxx

do xxx < / pré>

ou de cette façon indice 0 car il n'a qu'un seul élément à l'index 0 qui est une région avec style CALSS .line Xxx


0 commentaires

2
votes

Pour moi, il était plus facile de simplement utiliser Setpadding . XXX

De cette façon, je n'ai pas eu à gérer la feuille de style CSS.


0 commentaires