TreeViewer的setSelection方法使用后,會在樹上選中并展開方法參數中對應的節點.但是有時候你發現它只能選中第一級節點,下面的子節點沒有辦法選中.其實這個方法是沒有問題的,它的大概實現算法是:先找到某一個子節點,然后找到它的父節點,把父節點展開,然后又找父節點的父節點,做同樣的操作,直到根節點為止,這樣你才能看到選中的子節點.所以父節點如果為null,那肯定你是看不到子節點了.而我們很多人在實現ITreeContentProvide的接口的時候,是不實現getParent方法的,因為只要實現了getChildren方法就可以看見一棵樹了.包括陳剛的<Eclipse從入門到精通>也是這樣.所以在實現treeViewer的時候,最好還是實現getparent方法.其實也不麻煩,在添加一個child的時候,加一句setparent(this)就可以了