Class SynchronizingListModel<E>

java.lang.Object
javax.swing.AbstractListModel<E>
javax.swing.DefaultListModel<E>
com.aoapps.hodgepodge.swing.SynchronizingListModel<E>
All Implemented Interfaces:
Serializable, ListModel<E>

public class SynchronizingListModel<E> extends DefaultListModel<E>
When requested, it will synchronize its list of elements to an externally- provided list. The is useful when the data source is obtained elsewhere and the list-based component needs to be synchronized.

Since these updates may occur while a user is manipulating the components, only the minimum number of changes to the elements is made. Thus selections and other aspects of the component remain intact. Most importantly, if nothing in the list has changed, the component is not changed.

Author:
AO Industries, Inc.
See Also:
  • Constructor Details

    • SynchronizingListModel

      public SynchronizingListModel()
    • SynchronizingListModel

      public SynchronizingListModel(E constantFirstRow)
  • Method Details

    • synchronize

      public void synchronize(List<? extends E> list)
      Synchronizes the list, adding and removing only a minimum number of elements. Comparisons are performed using .equals. This must be called from the Swing event dispatch thread.