Вот структура дерева:
корень
-ветви
--leafs
Я использую для TreeModel DefaultTreeModel, а мои объекты реализуют интерфейс TreeNode
Лист это какой-то объект:
public class Leaf implements TreeNode
{
// implementation
ветка имеет список листьев:
public class Branch implements TreeNode
{
private List<Leaf> leafs;
// implementation
А корень - это контейнер веток:
public class Root implements TreeNode
{
private List<Branch> branches;
// implementation
Когда я добавляю новый лист, мое дерево не обновляется, когда я добавляю лист и создаю новую DefaultTreeModel с моим корневым объектом, оно обновляется. Я наблюдаю за реализацией DefaultMutableTreeNode, при вставке дочерних элементов не происходит никакого события ... Что я делаю не так? Ранее я пытался реализовать интерфейс TreeModel, который выглядит намного лучше, чем реализация интерфейса TreeNode для трех классов, но результат был схожим. Я также читал о GlazedLists, но мне не нравится их концепция дерева. Для меня лучше всего реализовать концепцию интерфейса TreeModel, но как обновить модель, когда какой-то внутренний список в модели добавляет новый элемент? ...