JavaFx未选择的TreeItem(TreeView)

时间:2017-07-24 10:54:08

标签: java javafx 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);
        }

我希望所有host_node,port_node,user_node和db_node都不能被选中(并且不被禁用)。 我该怎么做呢?

1 个答案:

答案 0 :(得分:0)

根据您尝试实现的目标,我看到三个选项:

1)通过此处描述的TreeTableViewSelectionModelHow to prevent TreeItem selection?

2)使用鼠标透明:treeView.setMouseTransparent(true)

3)通过CSS将选择颜色更改为透明