ツリーの枝を追加、削除、編集したときのビューの更新
ツリーをすべて作り直すと、開いたり閉じている情報が失われています。 変更があったノードのみを更新するにはDefaultTreeModelに対してノードを操作します。
JTree tree; TreePath path = tree.getSelectionPath(); DefaultMutableTreeNode node = (DefaultMutableTreeNode) path.getLastPathComponent(); DefaultTreeModel model = (DefaultTreeModel) tree.getModel(); // ノードを追加したとき Object userObject = ...; DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(userObject); model.insertNodeInto(newNode, node, node.getChildCount()); // ノードを編集したとき model.nodeChanged(node); // ノードを削除したとき model.removeNodeFromParent(child); // あるノードとその配下が変わったとき model.reload(node); // ノード全体が変わったとき model.reload();