我有一個JTree,一個JTable和一個JList,顯示同一組對象,但是按不同的順序和不同的信息。如果從其中一個組件中選擇了一個項目,我想在另外兩個組件上選擇相同的對象(這意味着它們應該突出顯示)。當然,我使用Listener監視選擇事件。這是一個問題,當一個Component檢索到選定的對象時,我必須確保通過調用其上的選擇方法來選擇其他組件上的對象。這將通知其他兩個組件上的選擇偵聽器。但是這些事件中的每一個都會依次調用除本身以外的組件的選擇事件,從而導致三個組件之間出現無限循環。JTree的選擇沒有生成事件
我看到一個解決方案是使用一個布爾標誌,並如果標誌被設置在聽衆不會傳播的選擇。但是,這看起來很麻煩,不夠優雅。有沒有辦法簡單地告訴JTree,JTable和JList做出選擇,但不會觸發任何事件(如反對觸發事件,然後用布爾標誌捕獲並停止它)?
是的。謝謝。這工作。製作一個適用於Tree,Table和List的模型將會是一些工作,但這似乎比圍繞布爾值更好。 – Raymond 2011-03-08 16:26:51