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();