как включить компонент качания редактора визуального дерева xml?

До сих пор я использовал DefaultTreeModel dom4j для создания Jtree из XML-файла, который он читает.

Проблема в том, что Jtree не обновляется каждый раз, когда изменяется xml или добавляется или удаляется узел.

На данный момент кажется, что задействовано много вспомогательного кода, потому что, похоже, нет реализации OnXmlChanged().

Какие у меня есть другие альтернативы включению компонента Swing визуального дерева xml, который также поддерживает срабатывание событий при изменении базового XML-файла.


person KJW    schedule 24.04.2011    source источник


Ответы (1)


Вы всегда можете запустить эти события самостоятельно, когда знаете, что что-то изменилось. Из DefaultTreeModel используйте:

protected  void fireTreeNodesChanged(Object source, Object[] path, int[] childIndices, Object[] children) 

protected  void fireTreeNodesInserted(Object source, Object[] path, int[] childIndices, Object[] children) 

protected  void fireTreeNodesRemoved(Object source, Object[] path, int[] childIndices, Object[] children) 

protected  void fireTreeStructureChanged(Object source, Object[] path, int[] childIndices, Object[] children) 
person MeBigFatGuy    schedule 24.04.2011
comment
+1 См. также эту альтернативу. - person trashgod; 25.04.2011
comment
конечно, это возможно - просто тонна работы и не совсем надежная: документ может меняться под ногами как у модели, так и у любого агента, связанного с ней. Не удалось найти никакого очевидного решения (с низкой рабочей нагрузкой): stackoverflow.com/questions/5579580/ - person kleopatra; 26.04.2011