java - 如何检测 JavaFx 双击 listView

标签 java listview javafx double-click

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

最佳答案

在自定义 CellFactory 中使用 setOnMouseClicked

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");                       
                }
            });
        }
    }
});

关于java - 如何检测 JavaFx 双击 listView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51536489/

相关文章:

java - 如何从 Android 的 ListView 中正确删除项目?

java - Android:在 ListView header 中设置文本

android - ListView 在滚动时崩溃

JavaFX拖动旋转节点

用于解析干净 URL 并获取其不同组件的 Java 库/类

JavaFX - 尝试将功能添加到启动功能时出错

java - 有没有办法将数组列表中的整数添加在一起?

java - 修复 Java newInstance() 已弃用

JavaFX 位置未设置错误消息

java - 如何在 JavaFX 的 TextField 中强制进行双重输入?