summaryrefslogtreecommitdiff
path: root/javax/swing/DefaultListSelectionModel.java
diff options
context:
space:
mode:
Diffstat (limited to 'javax/swing/DefaultListSelectionModel.java')
-rw-r--r--javax/swing/DefaultListSelectionModel.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/javax/swing/DefaultListSelectionModel.java b/javax/swing/DefaultListSelectionModel.java
index 003513a23..b6d3e079e 100644
--- a/javax/swing/DefaultListSelectionModel.java
+++ b/javax/swing/DefaultListSelectionModel.java
@@ -162,11 +162,14 @@ public class DefaultListSelectionModel implements Cloneable,
/**
* Sets the value of the {@link #selectionMode} property.
*
- * @param a The new value of the property
+ * @param mode The new value of the property
*/
- public void setSelectionMode(int a)
+ public void setSelectionMode(int mode)
{
- selectionMode = a;
+ if (mode < ListSelectionModel.SINGLE_SELECTION
+ || mode > ListSelectionModel.MULTIPLE_INTERVAL_SELECTION)
+ throw new IllegalArgumentException("Unrecognised mode: " + mode);
+ selectionMode = mode;
}
/**
@@ -552,9 +555,10 @@ public class DefaultListSelectionModel implements Cloneable,
int i;
- Up: for (i = from; i>=0; i=sel.nextSetBit(i+1))
+ for (i = from; i>=0; i=sel.nextSetBit(i+1))
to = i;
+ sel.clear();
fireValueChanged(from, to, valueIsAdjusting);
}
@@ -776,6 +780,7 @@ public class DefaultListSelectionModel implements Cloneable,
DefaultListSelectionModel model =
(DefaultListSelectionModel) super.clone();
model.sel = (BitSet) sel.clone();
+ model.listenerList = new EventListenerList();
return model;
}
}