簡體   English   中英

JFace Tree Viewer:用於節點擴展的監聽器?

[英]JFace Tree Viewer: Listener for node expansion?

我有一棵JFace樹,需要在擴展完成之前將每個擴展的父元素存儲在一個變量中,因為我需要引用標簽提供程序中我的標簽提供程序中某個方法的擴展元素,這似乎是在單擊擴展器后直接調用的箭頭。

我知道ITreeViewerListener接口可用於在元素完全擴展獲取它,但不能在它擴展時使用(=單擊元素擴展器箭頭后直接獲取)。 這樣,當嘗試在我的標簽提供程序中使用對擴展元素的引用時,我會得到一個nullpointer異常,因為標簽提供程序是在單擊元素擴展器箭頭后直接調用的,而不是等待元素完全擴展。

我嘗試使用ISelectionChangedListener。 不幸的是,單擊元素的擴展箭頭時不會選擇該元素,因此不會觸發ISelectionChangedListener。

經過研究,我發現有一個TreeWillExpandListener可以擺動。 這似乎正是我所需要的,但是我無法使其與我的JFace Tree Viewer一起使用。 有什么辦法可以使用JFace做到這一點嗎?

感謝greg-449,我仔細研究了內容提供程序。

最初,我的標簽提供者和內容提供者有單獨的類。 通過創建實現ITableLabelProvider和ITreeContentProvider的單個類,我可以將它們連接在一起,從而使我的Label Provider無需選擇即可訪問每個元素的父元素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM