Java FX中TreeView节点选中和双击事件监听

TreeItem<String> treeRoot = new TreeItem<String>("Root");
treeRoot.setExpanded(true);
TreeItem<String> exportMr = new TreeItem<String>("Upload to HDFS");
treeRoot.getChildren().add(exportMr);
TreeView<String> treeView = new TreeView<String>(treeRoot);
treeView.getSelectionModel().selectedItemProperty().addListener(new ChangeListener() {
    @Override
    public void changed(ObservableValue observable, Object oldValue, Object newValue) {
        TreeItem<String> currentSelectItem = (TreeItem<String>) newValue;
        if (currentSelectItem != null&& currentSelectItem.getValue()=="Upload to HDFS") {
            System.out.println("selection(" + ((TreeItem<String>) newValue).getValue() + ") change");
            ModuleDialog md = new ModuleDialog(primaryStage);
        }
    }
});
treeView.setOnMouseClicked(new EventHandler<MouseEvent>()
{
    @Override
    public void handle(MouseEvent mouseEvent)
    {
        if(mouseEvent.getClickCount() == 2)
        {
            TreeItem<String> item = treeView.getSelectionModel().getSelectedItem();
            System.out.println("Selected Text : " + item.getValue());

            if (item.getValue()=="Upload to HDFS") {
                ModuleDialog md = new ModuleDialog(primaryStage);
            }
        }
    }
});
原文地址:https://www.cnblogs.com/yy3b2007com/p/5032768.html