Bonjour,
Je cherche a changer la couleur (background) de certaines node d'un treeview.
Comment puis-je m'y prendre ?
Merci
Bonjour,
Je cherche a changer la couleur (background) de certaines node d'un treeview.
Comment puis-je m'y prendre ?
Merci
CSS : en mettant un style inline ou un style de classe ou une pseudoclasse sur la cellule en fonction de son contenu.
- Style inline :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class MachinTreeCell extends TreeCell<Machin> { @Override protected void updateItem(final MachinTreeCell item, final boolean empty) { super.updateItem(item, empty); setStyle(null); [...] if (<test sur le contenu>) { setStyle("-fx-background-fill: red;"); [...] } [...] } }- Style de classe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class MachinTreeCell extends TreeCell<Machin> { @Override protected void updateItem(final MachinTreeCell item, final boolean empty) { super.updateItem(item, empty); getStyleClass().remove("machin-chose"); [...] if (<test sur le contenu>) { getStyleClass().add("machin-chose"); [...] } [...] } }
Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 /* Cellule spéciale. */ .machin-chose { -fx-background-fill: red; }- Les pseudo-classes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public class MachinTreeCell extends TreeCell<Machin> { private static final PseudoClass MACHIN_CHOSE_CLASS = PseudoClass.getPseudoClass("machin-chose"); // NOI18N. public MachinTreeCell() { getStyleClass().add("machin-tree-cell"); } @Override protected void updateItem(final MachinTreeCell item, final boolean empty) { super.updateItem(item, empty); pseudoClassStateChanged(MACHIN_CHOSE_CLASS, false); [...] if (<test sur le contenu>) { pseudoClassStateChanged(MACHIN_CHOSE_CLASS, true); [...] } [...] } }
Code CSS : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 /* Cellule normale. */ .machin-tree-cell { } /* Cellule spéciale. */ .machin-tree-cell:machin-chose { -fx-background-fill: red; }
D'entre le style de classe et les pseudo-classes, normalement c'est le second qui coute le moins en terme de performances.
Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager