如上所述:得到指定的Path是正确的,但是通过该正确的Path用getRowForPath得到的却是-1,
用getPathBounds获得Rectangle却是一个null,但是你没有折叠时获得的值却是正确的。
不知是怎么回事?大家给个意见,先谢过了。

解决方案 »

  1.   

    就是说在JScrollPane上有一个JTree,用
    makeVisible,scrollPathToVisible,scrollRectToVisible和scrollRowToVisible等方法可以让程序自动将某一个节点出现在可见部分,但是我把这个Tree展开后再折叠起来,后就发现上述方法不能实现此功能了。错误的原因如我在顶楼所述,只是不知道为什么会这样,也不知道该如何解决,请楼下的XDJM们帮忙搞定下,谢谢
      

  2.   

    getRowForPath得到-1是正常的,getRowForPath得到的是当前树的显示区域中的行数,
    显示区域中没有显示的节点得到的值当然是-1了。可以设置一下JTree.setExpandsSelectedPaths(true)试试看。