Возможно ли представить свойства узла с помощью метки, ComboBox (или более элементов управления) в элементе ячейки TreeView? Я хотел бы отобразить имя узла, выбранный элемент (и, если возможно, больше элементов управления (например, флажки)) в каждой ячейке treeview. Можно ли это сделать?Как отобразить свойства объекта как элементы управления в элементе одной ячейки TreeView в JavaFx?
Согласно обучающей компании Oracle (http://docs.oracle.com/javafx/2/ui_controls/tree-view.htm) CheckBoxTreeCell, ChoiceBoxTreeCell, ComboBoxTreeCell, классы TextFieldTreeCell могут быть использованы для подобных целей, но я не могу понять, как использовать многие из тех, кто в одной клетке, или как сделать редактируемой шаблон для ячеек.
Моя модель похожа на это:
public enum Options {
Option1, Option2, ... OptionN;
}
// I want to use this Node class as a TreeItem
public class Node {
private Node parentNode;
private List<Node> childNodes;
// Data to be displayed and edited by using only the tree
private String name; // displayed as Label
private Options selectedOption; // displayed as ComboBox
// private boolean valid; // displayed as Checkbox
// these properties possibly should be JavaFX's ObjectProperty, StringProperty, ListProperty etc.
// ...
}
То, что я хочу, чтобы показать, был бы похож на это:
Node0 [ComboBox: (selectedOption = Options.OptionI)]
|-- Node1 [ComboBox: (selectedOption = Options.OptionJ)]
| |-- Node11 [ComboBox: (selectedOption = Options.OptionK)]
|-- Node2 [ComboBox: (selectedOption = Options.OptionK)]
|-- Node21 [ComboBox: (selectedOption = Options.OptionL)]
|-- Node22 [ComboBox: (selectedOption = Options.OptionJ)]
... где пользователь может задать свойства узла путем редактирования элементы дерева. Какой подход следует использовать для достижения этой функциональности?
Извините, если это основной вопрос, я только начал изучать JavaFx.
Это может быть полезно http://stackoverflow.com/documentation/javafx/2229/tableview/8814/customizing-tablecell-look- в зависимости-на-пункта – Omid