Author: tchemit Date: 2010-06-08 15:01:04 +0200 (Tue, 08 Jun 2010) New Revision: 1955 Url: http://nuiton.org/repositories/revision/jaxx/1955 Log: fix NPE when tree still not in help reformat Modified: trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/tree/JaxxNode.java trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/tree/JaxxTreeHelper.java Modified: trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/tree/JaxxNode.java =================================================================== --- trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/tree/JaxxNode.java 2010-06-08 10:00:28 UTC (rev 1954) +++ trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/tree/JaxxNode.java 2010-06-08 13:01:04 UTC (rev 1955) @@ -65,7 +65,7 @@ /** l'objet (optionnel) pour créer les noeuds fils */ protected final JaxxNodeChildLoador<?, N> childLoador; - public JaxxNode(String id) { + protected JaxxNode(String id) { this(String.class, id, null, null); } @@ -294,7 +294,7 @@ @Override public String toString() { - return System.identityHashCode(this) + " :" + id; + return System.identityHashCode(this) + " : " + id; } } 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-08 10:00:28 UTC (rev 1954) +++ trunk/jaxx-runtime/src/main/java/jaxx/runtime/swing/tree/JaxxTreeHelper.java 2010-06-08 13:01:04 UTC (rev 1955) @@ -226,9 +226,13 @@ return dataProvider; } - public void setTree(JTree tree, TreeSelectionListener listener) { + public void setTree(JTree tree, + boolean addExpandTreeListener, + TreeSelectionListener listener) { this.tree = tree; - this.tree.addTreeWillExpandListener(expandListener); + if (addExpandTreeListener) { + this.tree.addTreeWillExpandListener(expandListener); + } if (listener != null) { this.tree.getSelectionModel().addTreeSelectionListener(listener); } @@ -237,6 +241,9 @@ public AbstractJaxxTreeCellRenderer<N> getTreeCellRenderer() { JTree t = getTree(); + if (t == null) { + return null; + } TreeCellRenderer r = t.getCellRenderer(); return (AbstractJaxxTreeCellRenderer<N>) (r instanceof AbstractJaxxTreeCellRenderer ? r : null); @@ -395,5 +402,11 @@ public void setDataProvider(DataProvider dataProvider) { this.dataProvider = dataProvider; + AbstractJaxxTreeCellRenderer<N> renderer = getTreeCellRenderer(); + if (renderer != null) { + + // dispatch provider to renderer + renderer.setDataProvider(dataProvider); + } } }
participants (1)
-
tchemit@users.nuiton.org