Author: tchemit Date: 2010-06-22 22:33:47 +0200 (Tue, 22 Jun 2010) New Revision: 1982 Url: http://nuiton.org/repositories/revision/jaxx/1982 Log: add getRoot method in JaxxTreehelper Modified: trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/tree/JaxxTreeHelper.java Modified: trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/tree/JaxxTreeHelper.java =================================================================== --- trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/tree/JaxxTreeHelper.java 2010-06-22 18:16:24 UTC (rev 1981) +++ trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/tree/JaxxTreeHelper.java 2010-06-22 20:33:47 UTC (rev 1982) @@ -489,6 +489,13 @@ return model; } + public N getRootNode() { + if (!checkModel()) { + return null; + } + return (N) model.getRoot(); + } + /** * Obtains the {@link AbstractJaxxTreeCellRenderer} renderer of the * registred tree. @@ -749,8 +756,12 @@ } /** - * Creates a new registred tree model from thei given root {@code node}. + * Register a new root node. + * + * If internal {@link #model} does not exists, creates a new one from his given root {@code node}, + * otherwise just set the new root on the existing model. * <p/> + * * <b>Note:</b> As a side-effect, the model will be keep in field {@link #model} * and the {@link #treeModelListener} will be registred on this model. * @@ -758,8 +769,12 @@ * @return the new model */ protected DefaultTreeModel createModel(N node) { - model = new DefaultTreeModel(node); - model.addTreeModelListener(treeModelListener); + if (model == null) { + model = new DefaultTreeModel(node); + model.addTreeModelListener(treeModelListener); + } else { + model.setRoot(node); + } return model; }