AbstractListModelpublic abstract class AbstractListModel extends Object implements Serializable, ListModelThe abstract definition for the data model that provides
a List with its contents.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeansTM
has been added to the java.beans package.
Please see {@link java.beans.XMLEncoder}. |
Fields Summary |
---|
protected EventListenerList | listenerList |
Methods Summary |
---|
public void | addListDataListener(javax.swing.event.ListDataListener l)Adds a listener to the list that's notified each time a change
to the data model occurs.
listenerList.add(ListDataListener.class, l);
| protected void | fireContentsChanged(java.lang.Object source, int index0, int index1)AbstractListModel subclasses must call this method
after
one or more elements of the list change. The changed elements
are specified by the closed interval index0, index1 -- the endpoints
are included. Note that
index0 need not be less than or equal to index1.
Object[] listeners = listenerList.getListenerList();
ListDataEvent e = null;
for (int i = listeners.length - 2; i >= 0; i -= 2) {
if (listeners[i] == ListDataListener.class) {
if (e == null) {
e = new ListDataEvent(source, ListDataEvent.CONTENTS_CHANGED, index0, index1);
}
((ListDataListener)listeners[i+1]).contentsChanged(e);
}
}
| protected void | fireIntervalAdded(java.lang.Object source, int index0, int index1)AbstractListModel subclasses must call this method
after
one or more elements are added to the model. The new elements
are specified by a closed interval index0, index1 -- the enpoints
are included. Note that
index0 need not be less than or equal to index1.
Object[] listeners = listenerList.getListenerList();
ListDataEvent e = null;
for (int i = listeners.length - 2; i >= 0; i -= 2) {
if (listeners[i] == ListDataListener.class) {
if (e == null) {
e = new ListDataEvent(source, ListDataEvent.INTERVAL_ADDED, index0, index1);
}
((ListDataListener)listeners[i+1]).intervalAdded(e);
}
}
| protected void | fireIntervalRemoved(java.lang.Object source, int index0, int index1)AbstractListModel subclasses must call this method
after one or more elements are removed from the model.
index0 and index1 are the end points
of the interval that's been removed. Note that index0
need not be less than or equal to index1 .
Object[] listeners = listenerList.getListenerList();
ListDataEvent e = null;
for (int i = listeners.length - 2; i >= 0; i -= 2) {
if (listeners[i] == ListDataListener.class) {
if (e == null) {
e = new ListDataEvent(source, ListDataEvent.INTERVAL_REMOVED, index0, index1);
}
((ListDataListener)listeners[i+1]).intervalRemoved(e);
}
}
| public javax.swing.event.ListDataListener[] | getListDataListeners()Returns an array of all the list data listeners
registered on this AbstractListModel .
return (ListDataListener[])listenerList.getListeners(
ListDataListener.class);
| public T[] | getListeners(java.lang.Class listenerType)Returns an array of all the objects currently registered as
FooListener s
upon this model.
FooListener s
are registered using the addFooListener method.
You can specify the listenerType argument
with a class literal, such as FooListener.class .
For example, you can query a list model
m
for its list data listeners
with the following code:
ListDataListener[] ldls = (ListDataListener[])(m.getListeners(ListDataListener.class));
If no such listeners exist,
this method returns an empty array.
return listenerList.getListeners(listenerType);
| public void | removeListDataListener(javax.swing.event.ListDataListener l)Removes a listener from the list that's notified each time a
change to the data model occurs.
listenerList.remove(ListDataListener.class, l);
|
|