/ / Modifier la couleur de sélection d'un objet JavaFX TreeTableView - java, css, javafx, treetableview, javafx-css

Changer la couleur de sélection d'un JavaFX TreeTableView - java, css, javafx, treetableview, javafx-css

J’ai un peu de mal avec FX, CSS etle TreeTableView. J'ai des cellules contenant des hyperliens bleus. Désormais, si la cellule est sélectionnée, l’arrière-plan devient bleu et le lien est donc pratiquement invisible. J’aimerais maintenant changer la couleur de fond des cellules sélectionnées à l’aide de feuilles de style.

Pour TreeView, les opérations suivantes fonctionnent bien:

.tree-view .tree-cell:selected{
-fx-background-color: green;
}

J'ai donc essayé de manière analogue:

.tree-table-view .tree-table-cell:selected{
-fx-background-color: green;
}

Mais cela n'a eu aucun effet. Curieusement, j'ai pu modifier la couleur de fond générale avec ceci:

.tree-table-view .tree-table-cell{
-fx-background-color: yellow;
}

Les cellules étaient maintenant toutes jaunes, mais cela semble remplacer le modèle de sélection par défaut, car même les lignes sélectionnées avaient un arrière-plan jaune.

Pour moi, il semble que le sélecteur d'état ne s'applique pas aux cellules TreeTableView, mais je n'ai aucune idée de la manière de procéder.

J'ai aussi essayé avec le Exemple 15-2 de la documentation JavaFX, obtenant le même résultat peu satisfaisant.

Je n'ai trouvé aucune solution sur le Web, car toutes les questions semblent concerner TreeViews ou TableViews, mais pas la combinaison TreeTableView. Donc, tout indice ou lien vers le bon document serait très utile!

Merci d'avance!

P.S: Je suis conscient que le problème pourrait être résolu en modifiant la couleur du lien hypertexte, mais il doit exister un moyen de modifier la couleur de la cellule, non?

Réponses:

5 pour la réponse № 1

Vous pouvez utiliser le .tree-table-row-cell sélecteur avec le -fx-background-color bien que vous avez mentionné:

.tree-table-row-cell:selected {
-fx-background-color: green;
}

entrer la description de l'image ici

et vous pouvez également changer la couleur de la bordure pour qu'elle corresponde mieux à la couleur de remplissage:

.tree-table-row-cell:selected {
-fx-background-color: green;
-fx-table-cell-border-color: green;
}

entrer la description de l'image ici

Vous pouvez appliquer plus de styles à la cellule de tableau sous-jacente en utilisant:

.tree-table-row-cell:selected > .tree-table-cell{
/*enter style rules here*/
}