|
Holger's Java API |
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
com.antelmann.util.gui.JSearchList
public class JSearchList
provides a selection list that can be case-insensitively filtered by its toString()
representation through a text field.
This component already registers appropriate selection listeners that fire a
PropertyChangeEvent upon selection changes.
The list itself is sorted by the global UniversalComparator.
JSearchTable,
JPreviewPane,
Serialized Form| Nested Class Summary |
|---|
| 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 |
|---|
| 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 | |
|---|---|
JSearchList()
needed to make this component appear like a bean |
|
JSearchList(Collection<?> list)
|
|
JSearchList(Object... elements)
elements must not contain null |
|
| Method Summary | ||
|---|---|---|
protected boolean |
acceptListEntry(Object element,
String searchText)
may be overwritten to specialize the filtering behavior based on the current text selection. |
|
boolean |
contains(Object element)
|
|
Object[] |
getElements()
|
|
JList |
getJList()
returns the filtered active list |
|
List<Object> |
getRelevantList()
returns the currently relevant list of the denotes objects |
|
String |
getRelevantListDescription()
|
|
Object |
getRelevantValue()
returns the relevant value for this instance at the time of calling |
|
JTextField |
getSearchField()
return the search field used to enter search criteria |
|
String |
getSearchText()
returns the current search pattern used for convenience |
|
Object |
getSelectedItem()
convenience method |
|
Object[] |
getSelectedItems()
convenience method |
|
boolean |
isImmediateSearch()
|
|
boolean |
isMultiWordSearchOption()
|
|
static JComboBox |
makeMultipleSelectComboBox(String dialogTitle,
Object[] items,
Object... initialSelection)
Deprecated. use JMultipleSelectionComboBox directly instead |
|
static void |
makeSearchable(JComboBox combo,
String dialogTitle)
registers a MouseListener that will provide a JSearchList upon double-click |
|
boolean |
requestFocusInWindow()
|
|
void |
selectAll()
convenience method |
|
void |
setDefaultToolTipRenderer()
a convenience method that will set a Renderer on the JList that will display the toString()-value upon mouse over |
|
void |
setElements(Collection<?> newElements)
|
|
|
setElements(Collection<T> newElements,
Comparator<? super T> c)
|
|
void |
setElements(Object[] newElements)
|
|
void |
setElements(Object[] newElements,
Comparator<Object> comparator)
if the comparator is null, the given newElements are not sorted |
|
void |
setImmediateSearch(boolean immediateSearch)
|
|
void |
setMultiWordSearchOption(boolean multiWordSearchOption)
|
|
void |
setRenderer(ListCellRenderer renderer)
shortcut |
|
void |
setRenderer(PatternExtractor<Object,String> pe)
shortcut for using a FormattedCellRenderer |
|
void |
setSearchText(String txt)
|
|
void |
setSelectedItem(Object obj)
convenience method |
|
void |
setSelectedItems(Object... items)
convenience method |
|
static Object[] |
showMultipleSelectDialog(Component parent,
String title,
Object[] elements,
boolean sortByRendererIfApplicable,
ListCellRenderer renderer,
Object... currentSelection)
|
|
static Object[] |
showMultipleSelectDialog(Component parent,
String title,
Object[] elements,
ListCellRenderer renderer,
Object... currentSelection)
|
|
static Object[] |
showMultipleSelectDialog(Component parent,
String title,
Object[] elements,
Object... currentSelection)
|
|
static Object |
showSelectDialog(Component parent,
String title,
boolean immediateSearch,
boolean multiWordSearchOption,
Object[] elements,
Object currentSelected)
|
|
static Object |
showSelectDialog(Component parent,
String title,
boolean immediateSearch,
boolean multiWordSearchOption,
Object[] elements,
Object currentSelected,
boolean sortByRendererIfApplicable,
ListCellRenderer renderer,
Dimension dim)
|
|
static Object |
showSelectDialog(Component parent,
String title,
boolean immediateSearch,
boolean multiWordSearchOption,
Object[] elements,
Object currentSelected,
ListCellRenderer renderer)
|
|
static Object |
showSelectDialog(Component parent,
String title,
boolean immediateSearch,
boolean multiWordSearchOption,
Object[] elements,
Object currentSelected,
ListCellRenderer renderer,
Dimension dim)
|
|
static
|
showSelectDialog(Component parent,
String title,
Collection<T> elements)
|
|
static
|
showSelectDialog(Component parent,
String title,
Collection<T> elements,
Object currentSelected)
|
|
static Object |
showSelectDialog(Component parent,
String title,
Object[] elements)
shows a JDialog to choose from the given objects. |
|
static Object |
showSelectDialog(Component parent,
String title,
Object[] elements,
Object currentSelected)
|
|
void |
sortByRenderer()
useful after setting a custom renderer on the JList |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public JSearchList()
public JSearchList(Collection<?> list)
public JSearchList(Object... elements)
| Method Detail |
|---|
public boolean requestFocusInWindow()
requestFocusInWindow in class JComponentpublic void sortByRenderer()
public boolean isImmediateSearch()
public void setImmediateSearch(boolean immediateSearch)
public boolean isMultiWordSearchOption()
public void setMultiWordSearchOption(boolean multiWordSearchOption)
protected boolean acceptListEntry(Object element,
String searchText)
toString() value of the given element
(case-insensitive) by default;
additionally, if a renderer is present that uses a JLabel, the text
of the same is used instead.
If isMultiWordSearchOption() is enabled, the search pattern is
taken as several search strings separated by space where all strings need to be present.
searchText - the current value of the search field; is never null,
but may be of length 0 if no search text is enteredpublic void setDefaultToolTipRenderer()
public void setRenderer(ListCellRenderer renderer)
public void setRenderer(PatternExtractor<Object,String> pe)
FormattedCellRenderer
public void setSearchText(String txt)
public void setElements(Collection<?> newElements)
public <T> void setElements(Collection<T> newElements,
Comparator<? super T> c)
public void setElements(Object[] newElements)
public void setElements(Object[] newElements,
Comparator<Object> comparator)
public boolean contains(Object element)
public Object[] getElements()
public JTextField getSearchField()
public JList getJList()
public String getSearchText()
public Object getRelevantValue()
ValueRetriever
getRelevantValue in interface ValueRetriever<Object>public Object getSelectedItem()
public void setSelectedItem(Object obj)
public List<Object> getRelevantList()
ListRetriever
getRelevantList in interface ListRetriever<Object>public String getRelevantListDescription()
getRelevantListDescription in interface ListRetriever<Object>public Object[] getSelectedItems()
public void selectAll()
public void setSelectedItems(Object... items)
public static <T> T showSelectDialog(Component parent,
String title,
Collection<T> elements)
public static <T> T showSelectDialog(Component parent,
String title,
Collection<T> elements,
Object currentSelected)
public static Object showSelectDialog(Component parent,
String title,
Object[] elements)
public static Object showSelectDialog(Component parent,
String title,
Object[] elements,
Object currentSelected)
public static Object showSelectDialog(Component parent,
String title,
boolean immediateSearch,
boolean multiWordSearchOption,
Object[] elements,
Object currentSelected)
public static Object showSelectDialog(Component parent,
String title,
boolean immediateSearch,
boolean multiWordSearchOption,
Object[] elements,
Object currentSelected,
ListCellRenderer renderer)
public static Object showSelectDialog(Component parent,
String title,
boolean immediateSearch,
boolean multiWordSearchOption,
Object[] elements,
Object currentSelected,
ListCellRenderer renderer,
Dimension dim)
public static Object showSelectDialog(Component parent,
String title,
boolean immediateSearch,
boolean multiWordSearchOption,
Object[] elements,
Object currentSelected,
boolean sortByRendererIfApplicable,
ListCellRenderer renderer,
Dimension dim)
public static Object[] showMultipleSelectDialog(Component parent,
String title,
Object[] elements,
Object... currentSelection)
public static Object[] showMultipleSelectDialog(Component parent,
String title,
Object[] elements,
ListCellRenderer renderer,
Object... currentSelection)
public static Object[] showMultipleSelectDialog(Component parent,
String title,
Object[] elements,
boolean sortByRendererIfApplicable,
ListCellRenderer renderer,
Object... currentSelection)
public static void makeSearchable(JComboBox combo,
String dialogTitle)
@Deprecated
public static JComboBox makeMultipleSelectComboBox(String dialogTitle,
Object[] items,
Object... initialSelection)
JMultipleSelectionComboBox directly instead
JComboBox.getSelectedObjects()
and displays a special multiple-select object when a multiple selection is present.
The returned JComboBox uses a DefaultComboBoxModel, which may at times contain a special
'multipleSelect'-Object.
Note that JComboBox.getSelectedItem() may return an irritating value (a 'multiple-select' object),
which indicates that there is a multiple selection present; thus it is recommended to always call
JComboBox.getSelectedObjects() to obtain the correct selection.
JMultipleSelectionComboBox
|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||