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