public abstract class SelectableComponent<T extends java.awt.Component>
extends java.lang.Object
There are static methods to create a SelectableComponent for the base JTree and JList implementations.
createSelectableComponent(JTree)
,
createSelectableComponent(JList)
Modifier and Type | Class and Description |
---|---|
static class |
SelectableComponent.Placement
Specifies the location of a new node in relation to an existing node.
|
static class |
SelectableComponent.SelectionEvent
Event class used when a SelectionListener is notified of a selection
change in a SelectableComponent.
|
static class |
SelectableComponent.SelectionListener
Listener class for notification of selection changes in a
SelectableComponent.
|
Modifier | Constructor and Description |
---|---|
protected |
SelectableComponent(T component) |
Modifier and Type | Method and Description |
---|---|
boolean |
add(int index,
java.lang.Object obj)
Adds the given object at the given index in the component.
|
abstract boolean |
add(int index,
java.lang.Object obj,
SelectableComponent.Placement placement)
Adds the given object at the given index in the component, specifying
whether the new node should be at the same level as the node currently
at that position, or one level below
|
abstract boolean |
add(java.lang.Object obj)
Adds the given object to the end of the component.
|
void |
addSelectionListener(SelectableComponent.SelectionListener listener)
Adds a listener that is notified of any changes in the selection.
|
abstract void |
clear() |
static SelectableComponent<javax.swing.JComboBox> |
createSelectableComponent(javax.swing.JComboBox combo)
Creates a SelectableComponent to wrap a JComboBox.
|
static SelectableComponent<javax.swing.JList> |
createSelectableComponent(javax.swing.JList list)
Creates a SelectableComponent to wrap a JList.
|
static SelectableComponent<javax.swing.JTree> |
createSelectableComponent(javax.swing.JTree tree)
Creates a SelectableComponent to wrap a JTree.
|
protected void |
fireSelectionEvent()
Call in implmentations from a selection listener added to the
underlying component.
|
abstract java.lang.Object |
get(int index)
Gets the element at the given index in the component.
|
abstract java.lang.Object[] |
getChildren(java.lang.Object parent)
Gets the child elements for the given element.
|
T |
getComponent()
Gets the underlying UI component that displays the selection.
|
int |
getFirstIndex(int i)
Gets the index that should be considered "first" for the given index
for the purposes of moving an element up to the top.
|
int |
getLastIndex(int i)
Gets the index that should be considered "last" for the given index
for the purposes of moving an element up to the bottom.
|
int |
getNextIndex(int i)
Gets the index that should be considered "next" to the given index for
the purposes of moving an element down.
|
abstract java.lang.Object |
getParent(java.lang.Object child)
Gets the parent element for the given element.
|
int |
getPreviousIndex(int i)
Gets the index that should be considered "previous" to the given index
for the purposes of moving an element up.
|
int |
getSelectedIndex()
Gets the index of the currently selected object if one and only one
object is selected.
|
abstract int[] |
getSelectedIndices()
Gets the indices that are selected in the component.
|
int |
indexOf(java.lang.Object obj)
Gets the index in the component of the given object.
|
protected void |
modelChanged()
Called when a change is made to the model.
|
boolean |
moveDown(int index)
Moves the object at the given index to the next available index in the
list.
|
boolean |
moveFirst(int index)
Moves the object at the given index to the first available index in the
list.
|
boolean |
moveLast(int index)
Moves the object at the given index to the last available index in the
list.
|
boolean |
moveUp(int index)
Moves the object at the given index to the previous available index in
the list.
|
abstract java.lang.Object |
remove(int index)
Removes the object at the given index from the component.
|
abstract boolean |
remove(java.lang.Object obj)
Removes the given object from the component.
|
void |
removeSelectionListener(SelectableComponent.SelectionListener listener)
Removes a listener that was added using
addSelectionListener(SelectionListener) |
abstract void |
setSelectedIndices(int... selection)
Sets the indices that are selected in the component.
|
abstract int |
size()
Gets the total number of elements in the underlying component.
|
abstract boolean |
swap(int index1,
int index2)
Swaps the elements at the given indicies.
|
protected SelectableComponent(T component)
public final T getComponent()
public final void addSelectionListener(SelectableComponent.SelectionListener listener)
public final void removeSelectionListener(SelectableComponent.SelectionListener listener)
addSelectionListener(SelectionListener)
protected final void fireSelectionEvent()
public abstract void clear()
public abstract int size()
public abstract java.lang.Object get(int index)
the
- index to lookuppublic abstract java.lang.Object[] getChildren(java.lang.Object parent)
parent
- the parent eleemntpublic abstract java.lang.Object getParent(java.lang.Object child)
child
- the child eleemntpublic abstract boolean swap(int index1, int index2)
index1
- the index of the first element to swapindex2
- the index of the second element to swappublic abstract void setSelectedIndices(int... selection)
selection
- the indices to selectpublic abstract int[] getSelectedIndices()
public int getNextIndex(int i)
i
- the index of the current objectpublic int getPreviousIndex(int i)
i
- the index of the current objectpublic int getFirstIndex(int i)
i
- the index of the current objectpublic int getLastIndex(int i)
public int getSelectedIndex()
public int indexOf(java.lang.Object obj)
the
- object to findpublic abstract boolean add(java.lang.Object obj)
the
- object to add to the component.public boolean add(int index, java.lang.Object obj)
index
- the index at which to add the objectobj
- the object to add to the component.public abstract boolean add(int index, java.lang.Object obj, SelectableComponent.Placement placement)
index
- the index at which to add the objectobj
- the object to add to the component.placement
- whether to place the new node at the same level
(Sibling) or below (Child) the node currently at index. This is
ignored for list controlspublic abstract boolean remove(java.lang.Object obj)
the
- object to removepublic abstract java.lang.Object remove(int index)
the
- index of the object to remove.public boolean moveUp(int index)
index
- the index of the object to move upgetPreviousIndex(int)
public boolean moveDown(int index)
index
- the index of the object to move downgetNextIndex(int)
public boolean moveFirst(int index)
index
- the index of the object to move to the topgetFirstIndex(int)
public boolean moveLast(int index)
index
- the index of the object to move to the bottomgetLastIndex(int)
protected void modelChanged()
public static SelectableComponent<javax.swing.JTree> createSelectableComponent(javax.swing.JTree tree)
DefaultTreeModel
,
DefaultMutableTreeNode
,
DefaultMutableTreeNode.getUserObject()
public static SelectableComponent<javax.swing.JList> createSelectableComponent(javax.swing.JList list)
DefaultListModel
public static SelectableComponent<javax.swing.JComboBox> createSelectableComponent(javax.swing.JComboBox combo)
DefaultComboBoxModel