Comment supprimer cette bordure supérieure grise dans JavaFX TextArea
Je veux une zone de texte complètement sans frontières et sans effets d'arrière-plan. Tout simplement blanc. J'ai essayé de supprimer la bordure et l'arrière-plan, mais il y a cette bordure grise étrange qui reste au-dessus de la zone de texte.
Sous le mot "plaintes", il s'agit d'une zone de texte. J'ai tout enlevé mais cette ligne grise reste.
textArea.setStyle("-fx-background-color: #fff; -fx-border-color: #fff; -fx-border-width: 0; -fx-border-image-width: 0; -fx-background-image: null; -fx-region-background: null;-fx-border-insets: 0; -fx-background-size:0; -fx-border-image-insets:0;");
3 answers
Dans JavaFX 8, comme ceci:
.text-area {
-fx-background-insets: 0;
-fx-background-color: transparent, white, transparent, white;
}
.text-area .content {
-fx-background-color: transparent, white, transparent, white;
}
.text-area:focused .content {
-fx-background-color: transparent, white, transparent, white;
}
.text-area:focused {
-fx-highlight-fill: #7ecfff;
}
.text-area .content {
-fx-padding: 10px;
-fx-text-fill: gray;
-fx-highlight-fill: #7ecfff;
}
Le style réel appliqué à un TextArea
se trouve dans le modène.fichier css. Si vous souhaitez remplacer l'une des propriétés css, vous devez rechercher toutes les classes de style et pseudo-classes possibles où elles apparaissent, puis toutes les séries de valeurs possibles (séparées par des virgules) pour une propriété donnée.
Pour la propriété background color, ce sont les valeurs par défaut:
.text-area {
-fx-background-color: linear-gradient(to bottom, derive(-fx-text-box-border, -10%), -fx-text-box-border),
derive(-fx-base,-1%);
}
.text-area .content {
-fx-background-color:
linear-gradient(from 0px 0px to 0px 4px, derive(-fx-control-inner-background, -8%), -fx-control-inner-background);
}
.text-area:focused .content {
-fx-background-color:
-fx-control-inner-background,
-fx-faint-focus-color,
linear-gradient(from 0px 0px to 0px 5px, derive(-fx-control-inner-background, -9%), -fx-control-inner-background);
}
Donc, si vous voulez avoir une zone complètement blanche, sans frontières, ces valeurs doivent être remplacer par:
.text-area{
-fx-background-color: #fff, #fff;
}
.text-area .content {
-fx-background-color: #fff;
}
.text-area:focused .content {
-fx-background-color: #fff;
}
, C'est probablement un peu tard, mais cela pourrait aider quelqu'un là-bas!
J'avais besoin d'utiliser la zone de texte JavaFX pour afficher du texte multiligne et je voulais le même look que vous décriviez: pas de bordures, juste du texte.
Voici le style que j'ai utilisé:
textArea.setStyle("-fx-focus-color: transparent; -fx-text-box-border: transparent;");