jTree1.getSelectionModel().setSelectionMode(TreeSelectionModel.CONTIGUOUS_TREE_SELECTION);
....
 TreePath paths[] = jTree1.getSelectionPaths();
可是选中节点后paths[]中没有数据?为什么?

解决方案 »

  1.   

    语句放在什么地方?
    我想应该放在mousePressed(MouseEvent e)事件中
    Object[] = paths[i].getPath();取得结点名字
      

  2.   

    和放到什么事件里面没有关系吧?
    我的理解:只要程序走到该语句时,如果树中有节点被选择就应该有数据。
    我是放到valuechange里面的。
      

  3.   

    我在用jTree时是这样写的就可以获得数据(树结点的名字)Object selectedNode = jTree_Files.getLastSelectedPathComponent();
    if (selectedNode != null) {      fileName = selectedNode.toString();
          TreePath paths = jTree_Files.getSelectionPath();
          for (int i = 0; i < paths.getPathCount() - 1; i++) {
            packageName += paths.getPath()[i] + "."; //不包括文件名      }
    }
    这里fileName是叶子结点名,packageName是选中的叶子结点所对应的非叶子结点名字连接成的字符串