每this个链接,我已使用以下模式向我的tableview添加了上下文菜单 -
SelectionMode.MULTIPLE
我有一个要求,可以选择多行(// Show menu only if row is not null and value property == "foo"
row.contextMenuProperty().bind(
Bindings.when(Bindings.and(Bindings.isNotNull(row.itemProperty()), Bindings.equal("foo", row.getItem().value))
.then(rowMenu)
.otherwise((ContextMenu)null));
),我需要在行属性与特定值匹配时显示上下文菜单。我试过这个但没有运气 -
row.emptyProperty().addListener((obs, wasEmpty, isEmpty) -> {
if (isEmpty) {
row.setContextMenu(null);
} else {
if (row.getItem().name.get().equals("foo")) {
row.setContextMenu(contextMenu);
}
}
});
更新
我通过听众来完成这项工作 -
Bindings
问题 - 有没有办法使用<<
API实现这一目标?
答案 0 :(得分:0)
你的绑定是这样的:
Bindings.equal("foo", row.getItem().value)
但是你的听众会这样做:
row.getItem().name.get().equals("foo")
所以也许,在绑定中使用它会起作用:
Bindings.equal("foo", row.getItem().name.get())