Я новичок в JavaFX, и у меня возникла проблема с флажком Tree View.
Я хочу отключить один элемент внутри корневого значения ** Последовательный номер, но, согласно документации JavaFX, кажется, что это невозможно.
javafx как отключить один элемент в checkboxTreeItem?Я отключил щелчок эффект cbTreeViewdisable (3, элементы дерева)
Есть ли способ, чтобы серый любое одно значение (или установить идентификатор), так что пользователь знает, что это будет отключено.
private TreeView<String> cbTreeView;
@Override
public void start(Stage primaryStage) {
StackPane root = new StackPane();
cbTreeView = new TreeView();
CheckboxTreeItem<String> rootItem = new CheckboxTreeItem("Serial No.");
final CheckboxTreeItem[] treeItems = new CheckboxTreeItem[6];
for (int i = 0; i < 6; i++) {
treeItems[i] = new CheckboxTreeItem(""+i+"");
rootItem.getChildren().addAll(treeItems[i]);
}
root.setExpanded(true);
CheckboxTreeItem rootItem2 = new CheckboxTreeItem("child1");
final CheckboxTreeItem[] treeItems2 = new CheckboxTreeItem[6];
for (int i = 0; i < 6; i++) {
treeItems2[i] = new CheckboxTreeItem(""+i+"");
rootItem2.getChildren().addAll(treeItems2[i]);
}
cbTreeView.setRoot(rootItem);
cbTreeView.setCellFactory(CheckboxTreeCell.<String>forTreeView());
rootItem.getChildren().set(2,rootItem2);
cbTreeViewdisable(treeItems, 3);
//rest of code imports css and draws stage which is not relevant to my question
}
private void cbTreeViewdisable(final CheckboxTreeItem[] treeItems, final int id) {
treeItems[id].setIndependent(Boolean.TRUE);
treeItems[id].setValue(treeItems[id].getValue().toString()+" Note: you can't select this!)");
treeItems[id].selectedProperty().addListener(new ChangeListener<Boolean>() {
@Override
public void changed(ObservableValue<? extends Boolean> observable,
Boolean oldvalue, Boolean newvalue) {
Platform.runLater(new Runnable() {
@Override
public void run() {
treeItems[id].setSelected(Boolean.FALSE);
}
Этот код никогда не видел компилятора, который я предполагаю ... как насчет расширения ChackBoxTreeCell, чтобы сохранить состояние «отключено» и изменить его внешний вид? –