JTree提供SelectionListener和ExpansionListener。 但是,據我所見,當你只展開一個節點(點擊+/-圖標)時,也會觸發一個選擇事件。 1)如果我點擊展開圖標我送1個活動的擴張+ 1個事件如果我點擊一個節點本身我只得到1個事件選擇JTree如何知道節點已擴展但未選中
任何方式上不具有選擇 2)用戶展開節點時觸發選擇事件?
或...我如何才能檢測到擴張(無選擇)?我只想在一個節點真的被選中時執行一個耗時的操作,並且只對擴展做任何事情(除了在GUI中擴展節點除外) 任何想法? 謝謝!
您的最後一段聽起來本身就是一個矛盾:_expension only - 耗時的操作,當真的選擇_請澄清。 – kleopatra 2013-03-13 09:25:50
我在尋找的是一種方式,當用戶展開一個節點(它只會展開樹中的節點)時,我什麼也不做,並讓我只在用戶選擇一個節點時才更新GUI的另一部分那個樹。 – DaveG 2013-03-13 18:04:54
我的應用程序包含幾棵樹。當你點擊樹中的一個節點時,應用程序從數據庫中檢索數據,計算事物,生成圖形等。這需要一些時間。即使文件夾與這樣的信息相關聯。問題是:當您需要擴展10個文件夾節點以訪問另一個需要獲取數據的節點時,我不希望首先從所有10個父文件夾獲取數據(太多計算沒有)。 – DaveG 2013-03-13 18:09:51