我通过使用CheckBoxTreeItem
在一个角落支持自己,因为我想要它提供的功能(如果选中父级则检查所有孩子的能力),但是我父母有一个{ {1}}作为图形,而我的孩子有Hyperlink
作为图形。当Strings
包含两种不同类型(TreeView
和CheckBoxTreeItem<Hyperlink>
)时,Java不喜欢它。我的选择是创建一个接受泛型类型的CheckBoxTreeItem<String>
,或者找到一种将TreeView
显示为纯文本的方法。我已经使用通用类型选项进行了几个小时的修改,但似乎无法使其工作。我更倾向于修改超级链接,但无论如何我都会很乐意接受建议。
答案 0 :(得分:0)
如果您想添加Node
类型,可以使用graphic
的{{1}}属性。
TreeItem
或者,如果@Override
public void start(Stage primaryStage) {
CheckBoxTreeItem<String> item = new CheckBoxTreeItem<>(null, new Hyperlink("abc"));
CheckBoxTreeItem<String> item2 = new CheckBoxTreeItem<>("Hello World");
CheckBoxTreeItem<String> item3 = new CheckBoxTreeItem<>("42");
item.getChildren().setAll(item2, item3);
TreeView<String> treeView = new TreeView<>(item);
treeView.setCellFactory(CheckBoxTreeCell.forTreeView());
Scene scene = new Scene(treeView);
primaryStage.setScene(scene);
primaryStage.show();
}
值包含TreeItem
,则需要稍微修改Node
updateItem
方法:
CheckBoxTreeCell