Формат отдельных treeitems javafx
Я не могу понять, как использовать метод setCellFactory для форматирования отдельных TreeItems.
У меня есть класс
public class Bag { public String caption,assignment=""; Boolean eval; public Set<Vertex> Nodes = new HashSet<Vertex>(); public Vector<Bag> ChildBags = new Vector<Bag>(); @Override public String toString() { return assignment+ " " +caption; } }
Вот мой css файл:
.true{ -fx-text-fill:#33cc00 ; } .assignment{ -fx-text-fill: #0033cc }
У меня есть дерево мешков. Я хочу окрасить в зеленый цвет заголовок ( возвращает метод toString ()) всех тех узлов, свойство eval которых имеет значение true. а строка присваивания, которую возвращает метод toString() для всех узлов, должна быть синей.
Как я могу это сделать?
Спасибо.
Что я уже пробовал:
TreeView<Bag> treeView = new TreeView(root); treeView.getStylesheets().add("format.css"); PseudoClass childPseudoClass = PseudoClass.getPseudoClass("child"); treeView.setCellFactory(tv -> new TreeCell<Bag>() { @Override protected void updateItem(Bag item, boolean empty) { super.updateItem(item, empty); if (empty || item == null) { } else { if(item.eval==true){ //how to assign different style to different components } } } });