diff options
| author | mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-05-18 17:29:21 +0000 |
|---|---|---|
| committer | mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-05-18 17:29:21 +0000 |
| commit | 64089cc9f030d8ef7972adb5d117e0b23f47d62b (patch) | |
| tree | 9f9c470de62ee62fba1331a396450d728d2b1fad /libjava/classpath/javax/swing/DefaultSingleSelectionModel.java | |
| parent | 96034e28360d660d7a7708807fcbc4b519574d8e (diff) | |
| download | gcc-64089cc9f030d8ef7972adb5d117e0b23f47d62b.tar.gz | |
Imported GNU Classpath 0.90
* scripts/makemake.tcl: LocaleData.java moved to gnu/java/locale.
* sources.am: Regenerated.
* gcj/javaprims.h: Regenerated.
* Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* gnu/java/lang/VMInstrumentationImpl.java: New override.
* gnu/java/net/local/LocalSocketImpl.java: Likewise.
* gnu/classpath/jdwp/VMMethod.java: Likewise.
* gnu/classpath/jdwp/VMVirtualMachine.java: Update to latest
interface.
* java/lang/Thread.java: Add UncaughtExceptionHandler.
* java/lang/reflect/Method.java: Implements GenericDeclaration and
isSynthetic(),
* java/lang/reflect/Field.java: Likewise.
* java/lang/reflect/Constructor.java
* java/lang/Class.java: Implements Type, GenericDeclaration,
getSimpleName() and getEnclosing*() methods.
* java/lang/Class.h: Add new public methods.
* java/lang/Math.java: Add signum(), ulp() and log10().
* java/lang/natMath.cc (log10): New function.
* java/security/VMSecureRandom.java: New override.
* java/util/logging/Logger.java: Updated to latest classpath
version.
* java/util/logging/LogManager.java: New override.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@113887 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/classpath/javax/swing/DefaultSingleSelectionModel.java')
| -rw-r--r-- | libjava/classpath/javax/swing/DefaultSingleSelectionModel.java | 58 |
1 files changed, 38 insertions, 20 deletions
diff --git a/libjava/classpath/javax/swing/DefaultSingleSelectionModel.java b/libjava/classpath/javax/swing/DefaultSingleSelectionModel.java index 8f4d405f9d4..1c6f473fdd3 100644 --- a/libjava/classpath/javax/swing/DefaultSingleSelectionModel.java +++ b/libjava/classpath/javax/swing/DefaultSingleSelectionModel.java @@ -1,5 +1,5 @@ /* DefaultSingleSelectionModel.java -- - Copyright (C) 2002, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2006, Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -59,7 +59,7 @@ public class DefaultSingleSelectionModel /** * changeEvent */ - protected transient ChangeEvent changeEvent = new ChangeEvent(this); + protected transient ChangeEvent changeEvent; /** * listenerList @@ -67,12 +67,13 @@ public class DefaultSingleSelectionModel protected EventListenerList listenerList = new EventListenerList(); /** - * index + * The selected index (or -1 for no selection). */ private int index = -1; /** - * Constructor DefaultSingleSelectionModel + * Creates a new <code>DefaultSingleSelectionModel</code> with no current + * selection. */ public DefaultSingleSelectionModel() { @@ -80,8 +81,11 @@ public class DefaultSingleSelectionModel } /** - * getSelectedIndex - * @return int + * Returns the selected index or <code>-1</code> if there is no selection. + * + * @return The selected index. + * + * @see #setSelectedIndex(int) */ public int getSelectedIndex() { @@ -89,27 +93,38 @@ public class DefaultSingleSelectionModel } /** - * setSelectedIndex - * @param index TODO + * Sets the selected index and, if this is different to the previous + * selection, sends a {@link ChangeEvent} to all registered listeners. + * + * @param index the index (use <code>-1</code> to represent no selection). + * + * @see #getSelectedIndex() + * @see #clearSelection */ public void setSelectedIndex(int index) { - this.index = index; - fireStateChanged(); + if (this.index != index) + { + this.index = index; + fireStateChanged(); + } } /** - * clearSelection + * Clears the selection by setting the selected index to <code>-1</code> and + * sends a {@link ChangeEvent} to all registered listeners. If the selected + * index is already <code>-1</code>, this method does nothing. */ public void clearSelection() { - index = -1; - fireStateChanged(); + setSelectedIndex(-1); } /** - * isSelected - * @return boolean + * Returns <code>true</code> if there is a selection, and <code>false</code> + * otherwise. + * + * @return A boolean. */ public boolean isSelected() { @@ -117,9 +132,10 @@ public class DefaultSingleSelectionModel } /** - * addChangeListener + * Registers a listener to receive {@link ChangeEvent} notifications from + * this model whenever the selected index changes. * - * @param listener the listener to add + * @param listener the listener to add. */ public void addChangeListener(ChangeListener listener) { @@ -127,9 +143,10 @@ public class DefaultSingleSelectionModel } /** - * removeChangeListener + * Deregisters a listener so that it no longer receives {@link ChangeEvent} + * notifications from this model. * - * @param listener the listener to remove + * @param listener the listener to remove. */ public void removeChangeListener(ChangeListener listener) { @@ -141,8 +158,9 @@ public class DefaultSingleSelectionModel */ protected void fireStateChanged() { + if (changeEvent == null) + changeEvent = new ChangeEvent(this); ChangeListener[] listeners = getChangeListeners(); - for (int i = 0; i < listeners.length; i++) listeners[i].stateChanged(changeEvent); } |
