diff options
Diffstat (limited to 'javax/swing/DefaultListSelectionModel.java')
-rw-r--r-- | javax/swing/DefaultListSelectionModel.java | 13 |
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; } } |