Package uk.ac.starlink.topcat
Class OptionsListModel<T>
java.lang.Object
java.util.AbstractCollection<T>
java.util.AbstractList<T>
uk.ac.starlink.topcat.OptionsListModel<T>
- All Implemented Interfaces:
Iterable<T>
,Collection<T>
,List<T>
,SequencedCollection<T>
,ListModel<T>
Provides storage for a list of options with listeners.
This class implements both
List
and
ListModel
(which ListModel really
ought to do itself), and also provides methods to create
some useful models like JComboBoxModel based on the same data.- Author:
- Mark Taylor (Starlink)
-
Field Summary
Fields inherited from class java.util.AbstractList
modCount
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
void
void
fireContentsChanged
(int i0, int i1) void
fireIntervalAdded
(int i0, int i1) void
fireIntervalRemoved
(int i0, int i1) get
(int index) getElementAt
(int index) int
getSize()
int
idToIndex
(int id) Returns the index at which an option with the given ID currently resides.int
indexToId
(int index) Returns the unique ID value for the option currently at a given index in this list.makeCheckBoxMenu
(String menuName) Makes a new JComboBox from this model.Constructs a new ComboBoxModel backed by this list.Constructs a new JMenu backed by this list.remove
(int irow) void
int
size()
Methods inherited from class java.util.AbstractList
add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, removeRange, subList
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
Methods inherited from interface java.util.List
addAll, addFirst, addLast, contains, containsAll, getFirst, getLast, isEmpty, remove, removeAll, removeFirst, removeLast, replaceAll, retainAll, reversed, sort, spliterator, toArray, toArray
-
Constructor Details
-
OptionsListModel
public OptionsListModel()
-
-
Method Details
-
get
-
getElementAt
- Specified by:
getElementAt
in interfaceListModel<T>
-
size
public int size()- Specified by:
size
in interfaceCollection<T>
- Specified by:
size
in interfaceList<T>
- Specified by:
size
in classAbstractCollection<T>
-
getSize
public int getSize() -
add
- Specified by:
add
in interfaceCollection<T>
- Specified by:
add
in interfaceList<T>
- Overrides:
add
in classAbstractList<T>
-
set
-
remove
-
indexToId
public int indexToId(int index) Returns the unique ID value for the option currently at a given index in this list. The ID value for a given option is a small integer which does not change. ID values are not re-used within a given instance of this class.- Parameters:
index
- current index for option- Returns:
- identifier for option
-
idToIndex
public int idToIndex(int id) Returns the index at which an option with the given ID currently resides. If no option with the given ID is present, -1 is returned.- Parameters:
id
- unique identifier- Returns:
- index of option with
id
, or -1 - See Also:
-
makeComboBoxModel
Constructs a new ComboBoxModel backed by this list.- See Also:
-
makeComboBox
Makes a new JComboBox from this model. This adds to the functionality ofmakeComboBoxModel()
by ensuring that the box is revalidated when new items are added to the model; otherwise the box can end up too small.Note however that no renderer is installed, so custom rendering must be as required handled by client code.
- Returns:
- a combo box from which items in this model can be selected
-
makeJMenu
Constructs a new JMenu backed by this list. One entry is added to the menu for each option in this list; the menu item will be labelled by the list item (using its toString method) and will activate the supplied menuAction action if selected. In this case the action's actionPerformed method will be called with an ActionEvent that has an id corresponding to its position in this list and a command string which is the same as its toString method.- Parameters:
menuName
- the name of the menumenuAction
- the action to activate
-
makeCheckBoxMenu
-
addListDataListener
- Specified by:
addListDataListener
in interfaceListModel<T>
-
removeListDataListener
- Specified by:
removeListDataListener
in interfaceListModel<T>
-
fireContentsChanged
public void fireContentsChanged(int i0, int i1) -
fireIntervalAdded
public void fireIntervalAdded(int i0, int i1) -
fireIntervalRemoved
public void fireIntervalRemoved(int i0, int i1)
-