The default SelectionModel for JTree is DefaultTreeSelectionModel.

2006-08-09  Sven de Marothy  <[EMAIL PROTECTED]>

        * javax/swing/JTree.java
        (JTree): Default SelectionModel should be DefaultTreeSelectionModel.
        (setSelectionModel): Null parameter should create an EmptySelectionM.


Index: javax/swing/JTree.java
===================================================================
RCS file: /sources/classpath/classpath/javax/swing/JTree.java,v
retrieving revision 1.71
diff -U3 -r1.71 JTree.java
--- javax/swing/JTree.java	1 Aug 2006 14:45:46 -0000	1.71
+++ javax/swing/JTree.java	9 Aug 2006 16:19:41 -0000
@@ -1509,8 +1509,7 @@
   public JTree(TreeModel model)
   {
     setRootVisible(true);
-    setSelectionModel(new EmptySelectionModel());
-    selectionModel.setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
+    setSelectionModel( new DefaultTreeSelectionModel() );
     
     // The root node appears expanded by default.
     nodeStates = new Hashtable();
@@ -2050,14 +2049,16 @@
     if (selectionModel == model)
       return;
 
+    if( model == null )
+      model = EmptySelectionModel.sharedInstance();
+
     if (selectionModel != null)
       selectionModel.removeTreeSelectionListener(selectionRedirector);
 
     TreeSelectionModel oldValue = selectionModel;
     selectionModel = model;
 
-    if (selectionModel != null)
-      selectionModel.addTreeSelectionListener(selectionRedirector);
+    selectionModel.addTreeSelectionListener(selectionRedirector);
 
     firePropertyChange(SELECTION_MODEL_PROPERTY, oldValue, model);
     revalidate();

Reply via email to