2010-08-07 95 views
2

我想使用JTable編輯JTree,我擴展了DefaultTreeCellEditor並在getTreeCellEditorComponent中實現了isCellEditable getTreeCellEditorComponent,我返回一個JTable。當編輯節點時,一切正常,直到此時擺動顯示充滿對象內容的JTable,但編輯完成後,DefaultTreeModel的valueForPathChanged永遠不會被調用。如果我使用文本字段進行編輯,這是默認的一切工作正常。使用JTable進行JTree單元編輯器

回答

1

JTextField具有notifyAction,命名爲「通知場-接受」,並且通常結合至KeyEvent.VK_ENTER,可通知到CellEditorstopEditing()並最終調用方法DefaultTreeCellEditorvalueForPathChanged()

您不清楚如何指示您的JTable編輯已完成。您應該可以通過JTextFieldCellEditorListener中執行一些操作,該操作通過addCellEditorListener()添加到自定義編輯器中。

順便提及,valueForPathChanged()提到「如果您在TreeModel中使用自定義用戶對象,則需要對此類進行子類化,並將已更改節點的用戶對象設置爲有意義的內容。

相關問題