|
JIDE 3.5.15 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent com.jidesoft.combobox.AbstractComboBox com.jidesoft.combobox.ListComboBox
public class ListComboBox
ListComboBox
is just like a normal JComboBox which you can choose a value from a drop-down list box.
Nested Class Summary | |
---|---|
protected class |
ListComboBox.ListEditorComponent
|
protected class |
ListComboBox.ListRendererComponent
|
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy |
Field Summary | |
---|---|
protected int |
_maximumRowCount
This protected field is implementation specific. |
static Object[] |
BOOLEAN_ARRAY
An array of boolean true and false. |
Fields inherited from class com.jidesoft.combobox.AbstractComboBox |
---|
_dialog, _editable, _editor, _listDataListener, _oldSelectedItemReminder, _popupButton, _popupPanel, _renderer, actionCommand, CLIENT_PROPERTY_HIDE_POPUP_ON_LIST_DATA_CHANGED, CLIENT_PROPERTY_TABLE_CELL_EDITOR, CLIENT_PROPERTY_TABLE_CELL_RENDERER, COMMIT, COMMIT_OR_RESET, COMMIT_OR_REVERT, dataModel, DIALOG, DROPDOWN, HIDE_POPUP_KEY, PERSIST, PROPERTY_SELECTED_ITEM, RESET, REVERT, selectedItemReminder |
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Component |
---|
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT |
Fields inherited from interface java.awt.image.ImageObserver |
---|
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH |
Constructor Summary | |
---|---|
ListComboBox()
|
|
ListComboBox(ComboBoxModel model)
Creates a new ListComboBox . |
|
ListComboBox(ComboBoxModel model,
Class<?> clazz)
Creates a new ListComboBox . |
|
ListComboBox(Object[] objects)
Creates a new ListComboBox . |
|
ListComboBox(Object[] objects,
Class<?> clazz)
Creates a new ListComboBox . |
|
ListComboBox(Vector<?> objects)
Creates a new ListComboBox . |
|
ListComboBox(Vector<?> objects,
Class<?> clazz)
Creates a new ListComboBox . |
Method Summary | |
---|---|
void |
addItem(Object anObject)
Adds an item to the item list. |
AbstractComboBox.EditorComponent |
createEditorComponent()
Subclass should implement this method to create the actual editor component. |
protected JList |
createList(ComboBoxModel model)
Creates the list. |
protected ListChooserPanel |
createListChooserPanel(ComboBoxModel dataModel,
Class<?> clazz,
ObjectConverter converter,
ConverterContext converterContext)
Creates the ListChooserPanel. |
PopupPanel |
createPopupComponent()
Subclass should implement this method to create the actual popup component. |
protected List<KeyStroke> |
getDelegateKeyStrokes()
Gets the list of KeyStrokes that will be delegated to the popup panel. |
protected JComponent |
getDelegateTarget()
|
JList |
getList()
Gets the underlying JList. |
int |
getMaximumRowCount()
Returns the maximum number of items the combo box can display without a scrollbar. |
int |
getSelectedIndex()
Returns the first item in the list that matches the given item. |
protected void |
initComponent(ComboBoxModel model)
Initialize this component such as creating button, editor etc. |
void |
insertItemAt(Object anObject,
int index)
Inserts an item into the item list at a given index. |
protected void |
registerNavigationKeys(AbstractComboBox.EditorComponent editorComponent,
JComponent component)
Register extra key strokes such as UP, DOWN, PAGE UP, PAGE DOWN, CTRL-HOME, CTRL-END on the editor component. |
void |
removeAllItems()
Removes all items from the item list. |
void |
removeItem(Object anObject)
Removes an item from the item list. |
void |
removeItemAt(int anIndex)
Removes the item at anIndex This method works only if the ListComboBox uses a mutable
data model. |
void |
setMaximumRowCount(int count)
Sets the maximum number of rows the JComboBox displays. |
void |
setSelectedIndex(int anIndex)
Selects the item at index anIndex . |
protected void |
setupList(JList list)
Setups the JList for the tree used in the popup panel. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
protected int _maximumRowCount
getMaximumRowCount()
,
setMaximumRowCount(int)
public static Object[] BOOLEAN_ARRAY
Constructor Detail |
---|
public ListComboBox()
public ListComboBox(Object[] objects)
ListComboBox
.
objects
- an array of objects to insert into the combo boxpublic ListComboBox(Vector<?> objects)
ListComboBox
.
objects
- a vector of objects to insert into the combo boxpublic ListComboBox(ComboBoxModel model)
ListComboBox
.
model
- a combobox modelpublic ListComboBox(Object[] objects, Class<?> clazz)
ListComboBox
.
objects
- an array of objects to insert into the combo boxclazz
- the type of the objects in the array.public ListComboBox(Vector<?> objects, Class<?> clazz)
ListComboBox
.
objects
- a vector of objects to insert into the combo box.clazz
- the type of the objects in the vector.public ListComboBox(ComboBoxModel model, Class<?> clazz)
ListComboBox
.
model
- a combobox model.clazz
- the type of the objects in the model.Method Detail |
---|
protected void initComponent(ComboBoxModel model)
AbstractComboBox
initComponent
in class AbstractComboBox
model
- ComboBoxModel if any. If it's null, use InfiniteComboBoxModel.public AbstractComboBox.EditorComponent createEditorComponent()
AbstractComboBox
createEditorComponent
in class AbstractComboBox
public PopupPanel createPopupComponent()
AbstractComboBox
createPopupComponent
in class AbstractComboBox
protected ListChooserPanel createListChooserPanel(ComboBoxModel dataModel, Class<?> clazz, ObjectConverter converter, ConverterContext converterContext)
ListChooserPanel listChooserPanel = new ListChooserPanel(dataModel, clazz, converter, converterContext) {
protected JList createList(ComboBoxModel model) {
JList list = ListComboBox.this.createList(model);
if (list == null) {
return super.createList(model);
}
return list;
}
protected void setupList(final JList list) {
setHorizontalAlignment(ListComboBox.this.getHorizontalAlignment());
setVerticalAlignment(ListComboBox.this.getVerticalAlignment());
super.setupList(list);
list.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
public void valueChanged(ListSelectionEvent e) {
if (!e.getValueIsAdjusting() && !Boolean.TRUE.equals(list.getClientProperty(SELECTED_BY_MOUSE_ROLLOVER)))
{
int index = list.getSelectedIndex();
if (index != -1) {
Object item = dataModel.getElementAt(index);
if (getEditor().getItem() != item) {
setSelectedObject(item, false);
getEditor().setItem(item);
getEditor().selectAll();
}
}
}
}
});
ListComboBox.this.setupList(list);
}
};
dataModel
- the combobox modelclazz
- the type of the elementconverter
- the converterconverterContext
- the converter context. Used only when converter is null.
protected List<KeyStroke> getDelegateKeyStrokes()
AbstractComboBox
getDelegateKeyStrokes
in class AbstractComboBox
protected JList createList(ComboBoxModel model)
model
- the list model.
protected void setupList(JList list)
list
- the list used by ListChooserPanel.protected void registerNavigationKeys(AbstractComboBox.EditorComponent editorComponent, JComponent component)
editorComponent
- the editor component.component
- the text field when the combobox is editable, the renderer component when not editable.public void setMaximumRowCount(int count)
JComboBox
displays. If the number of objects in the model is
greater than count, the combo box uses a scrollbar.
count
- an integer specifying the maximum number of items to display in the list before using a scrollbar
preferred: true description: The maximum number of rows the popup should havepublic int getMaximumRowCount()
public void setSelectedIndex(int anIndex)
anIndex
.
anIndex
- an integer specifying the list item to select, where 0 specifies the first item in the list and -1
indicates no selection
IllegalArgumentException
- if anIndex
< -1 or anIndex
is greater than or equal to
size description: The item at index is selected.public int getSelectedIndex()
JComboBox
allows selected items that are not in the list. Returns -1 if there is no selected item or
if the user specified an item which is not in the list.
public JList getList()
createListChooserPanel(javax.swing.ComboBoxModel,Class,com.jidesoft.converter.ObjectConverter,com.jidesoft.converter.ConverterContext)
method and create your own ListChooserPanel and JList.
If you want to programatically set selected index on the list, you can use this method. However do not keep the
returned value and use it later because combobox may create a new JList if the popup is volatile.
Please note, this method will show the popup automatically if the combobox itself is showing (isShowing returns
true). Otherwise, it could return null if the popup was never shown before.
protected JComponent getDelegateTarget()
getDelegateTarget
in class AbstractComboBox
public void addItem(Object anObject)
ListComboBox
uses a mutable data
model.
Warning: Focus and keyboard navigation problems may arise if you add duplicate String objects. A
workaround is to add new objects instead of String objects and make sure that the toString() method is defined.
For example:
comboBox.addItem(makeObj("Item 1")); comboBox.addItem(makeObj("Item 1")); ... private Object makeObj(final String item) { return new Object() { public String toString() { return item; } }; }
anObject
- the Object to add to the listMutableComboBoxModel
,
insertItemAt(Object, int)
public void insertItemAt(Object anObject, int index)
ListComboBox
uses
a mutable data model.
anObject
- the Object
to add to the listindex
- an integer specifying the position at which to add the itemMutableComboBoxModel
public void removeItem(Object anObject)
ListComboBox
uses a mutable data
model.
anObject
- the object to remove from the item listMutableComboBoxModel
,
removeItemAt(int)
,
removeAllItems()
public void removeItemAt(int anIndex)
anIndex
This method works only if the ListComboBox
uses a mutable
data model.
anIndex
- an int specifying the index of the item to remove, where 0 indicates the first item in the listMutableComboBoxModel
public void removeAllItems()
|
JIDE 3.5.15 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |