Is it possible to replace the expand and collapse arrow of a TreeView
with a custom Node
/ shape (instead of an image)?
Asked
Active
Viewed 2,004 times
5

Community
- 1
- 1

Jens Piegsa
- 7,399
- 5
- 58
- 106
-
1Specifically, what kind of node do you want? The `-fx-shape` css property of the arrows will provide basic svg shapes. – Uluk Biy Nov 19 '13 at 22:28
-
@UlukBiy: Shame on me, you're absolutely right. Thanks! The default even consists of two styleable nodes. The only thing I will however have to deal with, is the "arrow" rotation. – Jens Piegsa Nov 19 '13 at 22:39
-
1There is a default solution for rotation also in there (caspian): `-fx-rotate: 90;` :), See .tree-cell:expanded .tree-disclosure-node .arrow – Uluk Biy Nov 19 '13 at 22:48
-
@UlukBiy: Great, I already thought about that there had to be something like this. If you like, you can enhance your comment to a short "acceptable" answer, of course. :-) – Jens Piegsa Nov 19 '13 at 22:53
1 Answers
4
The -fx-shape
css property of the arrows provides basic SVG shapes.
.tree-cell .tree-disclosure-node .arrow {
-fx-background-color: -fx-mark-color;
-fx-padding: 0.333333em; /* 4 */
-fx-shape: "M 0 -4 L 8 0 L 0 4 z"; // <-- change this default triangle shape
}
.tree-cell:expanded .tree-disclosure-node .arrow {
-fx-rotate: 90; // maybe another svg shape instead
}

Uluk Biy
- 48,655
- 13
- 146
- 153