Class SynchronizingComboBoxModel<E>

java.lang.Object
javax.swing.AbstractListModel<E>
javax.swing.DefaultComboBoxModel<E>
com.aoapps.hodgepodge.swing.SynchronizingComboBoxModel<E>
All Implemented Interfaces:
Serializable, ComboBoxModel<E>, ListModel<E>, MutableComboBoxModel<E>

public class SynchronizingComboBoxModel<E> extends DefaultComboBoxModel<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

    • SynchronizingComboBoxModel

      public SynchronizingComboBoxModel()
    • SynchronizingComboBoxModel

      public SynchronizingComboBoxModel(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.