Package org.jdesktop.swingx.autocomplete
Class AutoCompleteDecorator
java.lang.Object
org.jdesktop.swingx.autocomplete.AutoCompleteDecorator
This class contains only static utility methods that can be used to set up
automatic completion for some Swing components.
Usage examples:
JComboBox comboBox = [...];
AutoCompleteDecorator.decorate(comboBox);
List items = [...];
JTextField textField = [...];
AutoCompleteDecorator.decorate(textField, items);
JList list = [...];
JTextField textField = [...];
AutoCompleteDecorator.decorate(list, textField);
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Object
A TextAction that provides an error feedback for the text component that invoked the action. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static AutoCompleteDocument
createAutoCompleteDocument
(AbstractAutoCompleteAdaptor adaptor, boolean strictMatching, ObjectToStringConverter stringConverter, Document delegate) static void
Enables automatic completion for the given JComboBox.static void
decorate
(JComboBox comboBox, ObjectToStringConverter stringConverter) Enables automatic completion for the given JComboBox.static void
decorate
(JList list, JTextComponent textComponent) Enables automatic completion for the given JTextComponent based on the items contained in the given JList.static void
decorate
(JList list, JTextComponent textComponent, ObjectToStringConverter stringConverter) Enables automatic completion for the given JTextComponent based on the items contained in the given JList.static void
decorate
(JTextComponent textComponent, List<?> items, boolean strictMatching) Enables automatic completion for the given JTextComponent based on the items contained in the given List.static void
decorate
(JTextComponent textComponent, List<?> items, boolean strictMatching, ObjectToStringConverter stringConverter) Enables automatic completion for the given JTextComponent based on the items contained in the given List.static void
decorate
(JTextComponent textComponent, AutoCompleteDocument document, AbstractAutoCompleteAdaptor adaptor) Decorates a given text component for automatic completion using the given AutoCompleteDocument and AbstractAutoCompleteAdaptor.private static void
installMap
(InputMap componentMap, boolean strict) (package private) static void
undecorate
(JComboBox comboBox) (package private) static void
undecorate
(JList list) (package private) static void
undecorate
(JTextComponent textComponent)
-
Field Details
-
COMBO_BOX_ACTIONS
-
errorFeedbackAction
A TextAction that provides an error feedback for the text component that invoked the action. The error feedback is most likely a "beep".
-
-
Constructor Details
-
AutoCompleteDecorator
private AutoCompleteDecorator()
-
-
Method Details
-
installMap
-
createAutoCompleteDocument
static AutoCompleteDocument createAutoCompleteDocument(AbstractAutoCompleteAdaptor adaptor, boolean strictMatching, ObjectToStringConverter stringConverter, Document delegate) -
decorate
Enables automatic completion for the given JComboBox. The automatic completion will be strict (only items from the combo box can be selected) if the combo box is not editable.- Parameters:
comboBox
- a combo box- See Also:
-
decorate
Enables automatic completion for the given JComboBox. The automatic completion will be strict (only items from the combo box can be selected) if the combo box is not editable.Note: the
AutoCompleteDecorator
will alter the state of theJComboBox
to be editable. This can cause side effects with layouts and sizing.JComboBox
caches the size, which differs depending on the component's editability. Therefore, if the component's size is accessed prior to being decorated and then the cached size is forced to be recalculated, the size of the component will change.Because the size of the component can be altered (recalculated), the decorator does not attempt to set any sizes on the supplied
JComboBox
. Users that need to ensure sizes of supplied combos should take measures to set the size of the combo.- Parameters:
comboBox
- a combo boxstringConverter
- the converter used to transform items to strings
-
undecorate
-
decorate
Enables automatic completion for the given JTextComponent based on the items contained in the given JList. The two components will be synchronized. The automatic completion will always be strict.- Parameters:
list
- a JList containing the items for automatic completiontextComponent
- the text component that will be enabled for automatic completion
-
decorate
public static void decorate(JList list, JTextComponent textComponent, ObjectToStringConverter stringConverter) Enables automatic completion for the given JTextComponent based on the items contained in the given JList. The two components will be synchronized. The automatic completion will always be strict.- Parameters:
list
- a JList containing the items for automatic completiontextComponent
- the text component that will be used for automatic completionstringConverter
- the converter used to transform items to strings
-
undecorate
-
decorate
Enables automatic completion for the given JTextComponent based on the items contained in the given List.- Parameters:
textComponent
- the text component that will be used for automatic completion.items
- contains the items that are used for autocompletionstrictMatching
- true, if only given items should be allowed to be entered
-
decorate
public static void decorate(JTextComponent textComponent, List<?> items, boolean strictMatching, ObjectToStringConverter stringConverter) Enables automatic completion for the given JTextComponent based on the items contained in the given List.- Parameters:
textComponent
- the text component that will be used for automatic completion.items
- contains the items that are used for autocompletionstrictMatching
- true, if only given items should be allowed to be enteredstringConverter
- the converter used to transform items to strings
-
decorate
public static void decorate(JTextComponent textComponent, AutoCompleteDocument document, AbstractAutoCompleteAdaptor adaptor) Decorates a given text component for automatic completion using the given AutoCompleteDocument and AbstractAutoCompleteAdaptor.- Parameters:
textComponent
- a text component that should be decorateddocument
- the AutoCompleteDocument to be installed on the text componentadaptor
- the AbstractAutoCompleteAdaptor to be used
-
undecorate
-