j'ai un ListView
et ListCells
. Sur chaque ListCell
je fais setStyle(-fx-background-color: #000000)
.
Le problème est que cela écrase le ": survol", ": sélectionné" ... fond de la cellule, mais je veux les conserver.
Existe-t-il une solution pour simplement écraser la couleur d'arrière-plan par défaut sans survol ou focus?
Réponses:
2 pour la réponse № 1La solution rapide sera
cell.setStyle("-fx-control-inner-background: red");
où -fx-control-inner-background
n'est pas une propriété CSS JavaFX, mais une couleur prédéfinie dans caspian.css (pour JavaFX 2).
Cependant, l'approche appropriée consistera à personnaliser le style via un fichier CSS en remplaçant les sélecteurs associés listview / listcell.
De plus, n'oubliez pas que la couleur de fond de :odd
les rangées de listview sont dérivées de celles mentionnées ci-dessus -fx-control-inner-background
. Et comme les pseudo-classes (: focalisé, survol, impair, etc.) ne peuvent pas être définies via setStlyle()
, vous devez le remplacer dans le fichier CSS si vous voulez que ce soit une autre couleur ou pas de définition de la couleur du tout.