我有一個具有描述(String)和優先級值(int)的自定義對象。我將這些值顯示在JTree中,因爲此類型的不同對象之間存在層次關係。我只在JTree節點中顯示說明,因爲顯示的目的優先級並不重要。如何修改TreeCellEditor的默認編輯行爲(Java)
我想在編輯JTree節點(葉或節點)時彈出一個JDialog - 例如按F2。這個對話框將被用於編輯這兩個的描述和優先級。
如何阻止JTree將文本默認編輯爲文本字段並調用自定義對話框?
我想一個簡單的方法是繼承DefaultTreeCellEditor類並重寫isCellEditable方法。然後,我會在那裏調用JDialog(當我實例化自定義的DefaultTreeCellEditor時,我可以獲得相關的初始化元素),並簡單地返回false以防止默認編輯 - 但這對我來說似乎不夠優雅。
我喜歡我所看到的。這與GTK +製作其TreeView組件非常相似。這樣 - 您可以看到所有相關數據並可以對其進行編輯。在我的問題中顯示優先級不是必要的,但不會減損解決方案。我會進一步調查,謝謝。 – 2010-09-18 14:43:01