简体   繁体   English

JavaFx未选择的TreeItem(TreeView)

[英]JavaFx unselected TreeItem (TreeView)

I made this treeView: 我做了这个treeView:

    TreeItem<String> root = new TreeItem<>("roothidden");
    treeView.setRoot(root);
    treeView.setShowRoot(false);


    mainModel.getNumberOfCnx();


    if(mainModel.getNumberOfCnx()!=0){

        // parcourir pr avoir tt les noms des cnx
        for(int i = 1 ; i<=mainModel.getNumberOfCnx() ; i++){

             String cnx = mainModel.getCnxName(i);
             TreeItem<String> node = new TreeItem<>(cnx,new ImageView(env_icon));

             // ajouter les param
             TreeItem<String> host_node = new TreeItem<>(mainModel.getCnxHost(cnx),new ImageView(host_icon));
             TreeItem<String> port_node = new TreeItem<>(mainModel.getCnxPort(cnx),new ImageView(port_icon));
             TreeItem<String> user_node = new TreeItem<>(mainModel.getCnxUser(cnx),new ImageView(user_icon));
             TreeItem<String> db_node = new TreeItem<>(mainModel.getCnxDbName(cnx),new ImageView(db_icon));

             node.getChildren().addAll(host_node,port_node,user_node,db_node);

             root.getChildren().add(node);
        }

and I want all of host_node, port_node, user_node and db_node can't be selected(and not disabled). 并且我希望所有host_node,port_node,user_node和db_node都不能被选中(并且不被禁用)。 How can I make it please? 我该怎么做?

Depending on what you try to achieve, I see three options: 根据您尝试实现的目标,我看到三个选择:

1) Via the TreeTableViewSelectionModel as describe here: How to prevent TreeItem selection? 1)通过TreeTableViewSelectionModel ,如此处所述: 如何防止TreeItem选择?

2) By using mouse transparent: treeView.setMouseTransparent(true) 2)通过使用鼠标透明: treeView.setMouseTransparent(true)

3) By changing the selection colour to transparent via CSS 3)通过CSS将选择颜色更改为透明

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM