我想为树视图中的树项创建上下文菜单。我想为每个树项显示不同的上下文菜单。如何实现?
例如,我想为Acc Dept创建“添加员工”,为IT支持创建“添加支持者”。
根据树项名称显示上下文菜单。
例如,我想为Acc Dept创建“添加员工”,为IT支持创建“添加支持者”。
根据树项名称显示上下文菜单。
public TreeModel() {
MenuItem addMenuItem = new MenuItem("Create Tab");
addMenu.getItems().add(addMenuItem);
addMenuItem.setOnAction(new EventHandler() {
@Override
public void handle(Event t) {
TreeItem newEmployee =
new TreeItem<>("New Tab");
getTreeItem().getChildren().add(newEmployee);
}
});
contextMenuProperty().bind(
Bindings.when(Bindings.equal(itemProperty(),"TABS"))
.then(addMenu)
.otherwise((ContextMenu)null));
}
这个有效。@James非常感谢你的优秀文章 :)
TableView
做类似事情的博客文章:看看它是否有帮助。 - James_DMenuItem
不是Node
,因此您不会将相同的Node
添加到场景图中的多个位置。它们的行为有点像ListView
或TableView
中的项目(除了没有菜单单元格 API),您可以轻松地将相同的项目添加到多个ListView
中。 - James_D