我如何检测JavaFx双击listView

时间:2018-07-26 10:18:01

标签: java listview javafx double-click

我刚刚编写了一个代码,该代码在listView上单击后打开了一个元素。 但是我希望添加一个允许用户修改该元素的功能,以便用户双击要修改的元素,然后简单地单击它以显示其面板。 有什么解决办法吗? 谢谢

1 个答案:

答案 0 :(得分:1)

在自定义setOnMouseClicked中使用CellFactory

yourListView.setCellFactory(lv -> new ListCell<YourObject>()
{
    @Override
    public void updateItem(YourObject item, boolean empty)
    {
        super.updateItem(item, empty);
        if (empty) {
            setText(null);
            setGraphic(null);
        }
        else {
            //do other stuff here
            setOnMouseClicked(mouseClickedEvent -> {
                if (mouseClickedEvent.getButton().equals(MouseButton.PRIMARY) && mouseClickedEvent.getClickCount() == 2) {
                    System.out.println("double clicked");                       
                }
            });
        }
    }
});