diff options
Diffstat (limited to 'libjava/classpath/javax/swing/table/DefaultTableColumnModel.java')
-rw-r--r-- | libjava/classpath/javax/swing/table/DefaultTableColumnModel.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libjava/classpath/javax/swing/table/DefaultTableColumnModel.java b/libjava/classpath/javax/swing/table/DefaultTableColumnModel.java index 24ac8fc9c39..33e68ea9fcd 100644 --- a/libjava/classpath/javax/swing/table/DefaultTableColumnModel.java +++ b/libjava/classpath/javax/swing/table/DefaultTableColumnModel.java @@ -91,10 +91,10 @@ public class DefaultTableColumnModel /** * A change event used when notifying listeners of a change to the * <code>columnMargin</code> field. This single event is reused for all - * notifications. + * notifications (it is lazily instantiated within the + * {@link #fireColumnMarginChanged()} method). */ - // FIXME: use lazy instantiation - protected transient ChangeEvent changeEvent = new ChangeEvent(this); + protected transient ChangeEvent changeEvent; /** * A flag that indicates whether or not columns can be selected. @@ -580,7 +580,9 @@ public class DefaultTableColumnModel */ protected void fireColumnMarginChanged() { - EventListener [] listeners = getListeners(TableColumnModelListener.class); + EventListener[] listeners = getListeners(TableColumnModelListener.class); + if (changeEvent == null && listeners.length > 0) + changeEvent = new ChangeEvent(this); for (int i = 0; i < listeners.length; ++i) ((TableColumnModelListener) listeners[i]).columnMarginChanged(changeEvent); } |