如何取消ListView中的选择?

时间:2014-11-11 18:29:32

标签: javafx javafx-8

我尝试根据条件取消ListView中的用户选择。我试图在ListView和ListCell中使用鼠标点击和鼠标按下事件,但它不起作用。我不明白为什么在所选项属性更改后发生事件。 如何取消用户选择?

2 个答案:

答案 0 :(得分:3)

如果我理解正确,您希望阻止用户通过单击来选择项目。我进一步假设您尝试了这样的解决方案:

listView.addEventHandler(MOUSE_CLICKED, click -> click.consume());

这不会阻止执行其他点击处理程序。即使它确实如此,内部事件处理程序似乎在事件处理程序之前被触发,因为在执行处理程序之前更改了所选项。

您需要添加事件过滤器以防止触发任何事件处理程序:

listView.addEventFilter(MOUSE_CLICKED, click -> click.consume());

答案 1 :(得分:-1)

    listView.getSelectionModel().clearSelection();