Class AutoCompletingTextField
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.text.JTextComponent
-
- javax.swing.JTextField
-
- org.openstreetmap.josm.gui.widgets.JosmTextField
-
- org.openstreetmap.josm.gui.tagging.ac.AutoCompletingTextField
-
- All Implemented Interfaces:
ComponentListener
,FocusListener
,ImageObserver
,MenuContainer
,PropertyChangeListener
,Serializable
,EventListener
,Accessible
,CellEditor
,ComboBoxEditor
,Scrollable
,SwingConstants
,TableCellEditor
,Destroyable
public class AutoCompletingTextField extends JosmTextField implements ComboBoxEditor, TableCellEditor
AutoCompletingTextField is a text field with autocompletion behaviour. It can be used as table cell editor inJTable
s. Autocompletion is controlled by a list ofAutoCompletionItem
s managed in aAutoCompletionList
.- Since:
- 1762
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) class
AutoCompletingTextField.AutoCompletionDocument
The document model for the editor-
Nested classes/interfaces inherited from class javax.swing.JTextField
JTextField.AccessibleJTextField
-
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
JTextComponent.AccessibleJTextComponent, JTextComponent.DropLocation, JTextComponent.KeyBinding
-
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 Modifier and Type Field Description protected AutoCompletionList
autoCompletionList
the auto completion list user input is matched againstprivate Integer
maxChars
protected String
noAutoCompletionString
a string which should not be auto completedprivate String
originalValue
private CellEditorSupport
tableCellEditorSupport
-
Fields inherited from class javax.swing.JTextField
notifyAction
-
Fields inherited from class javax.swing.text.JTextComponent
DEFAULT_KEYMAP, FOCUS_ACCELERATOR_KEY
-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
-
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
-
-
Constructor Summary
Constructors Constructor Description AutoCompletingTextField()
Constructs a newAutoCompletingTextField
.AutoCompletingTextField(int columns)
Constructs a newAutoCompletingTextField
.AutoCompletingTextField(int columns, boolean undoRedo)
Constructs a newAutoCompletingTextField
.
-
Method Summary
-
Methods inherited from class org.openstreetmap.josm.gui.widgets.JosmTextField
componentHidden, componentMoved, componentResized, componentShown, destroy, discardAllUndoableEdits, displayHint, drawHint, focusGained, focusLost, getHint, getHintFont, getHintTextColor, getIcon, paintComponent, propertyChange, setComponentOrientation, setHint, setIcon
-
Methods inherited from class javax.swing.JTextField
actionPropertyChanged, addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, fireActionPerformed, getAccessibleContext, getAction, getActionListeners, getActions, getColumns, getColumnWidth, getHorizontalAlignment, getHorizontalVisibility, getPreferredSize, getScrollOffset, getUIClassID, isValidateRoot, paramString, postActionEvent, removeActionListener, scrollRectToVisible, setAction, setActionCommand, setColumns, setDocument, setFont, setHorizontalAlignment, setScrollOffset
-
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, modelToView2D, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, replaceSelection, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setDisabledTextColor, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, viewToModel2D, write
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface javax.swing.ComboBoxEditor
addActionListener, removeActionListener, selectAll
-
-
-
-
Field Detail
-
autoCompletionList
protected AutoCompletionList autoCompletionList
the auto completion list user input is matched against
-
noAutoCompletionString
protected String noAutoCompletionString
a string which should not be auto completed
-
tableCellEditorSupport
private transient CellEditorSupport tableCellEditorSupport
-
originalValue
private String originalValue
-
-
Constructor Detail
-
AutoCompletingTextField
public AutoCompletingTextField()
Constructs a newAutoCompletingTextField
.
-
AutoCompletingTextField
public AutoCompletingTextField(int columns)
Constructs a newAutoCompletingTextField
.- Parameters:
columns
- the number of columns to use to calculate the preferred width; if columns is set to zero, the preferred width will be whatever naturally results from the component implementation
-
AutoCompletingTextField
public AutoCompletingTextField(int columns, boolean undoRedo)
Constructs a newAutoCompletingTextField
.- Parameters:
columns
- the number of columns to use to calculate the preferred width; if columns is set to zero, the preferred width will be whatever naturally results from the component implementationundoRedo
- Enables or not Undo/Redo feature. Not recommended for table cell editors, unless each cell provides its own editor
-
-
Method Detail
-
createDefaultModel
protected Document createDefaultModel()
- Overrides:
createDefaultModel
in classJTextField
-
init
protected final void init()
-
applyFilter
protected void applyFilter(String filter)
-
getAutoCompletionList
public AutoCompletionList getAutoCompletionList()
Returns the auto completion list.- Returns:
- the auto completion list; may be null, if no auto completion list is set
-
setAutoCompletionList
public void setAutoCompletionList(AutoCompletionList autoCompletionList)
Sets the auto completion list.- Parameters:
autoCompletionList
- the auto completion list; if null, auto completion is disabled
-
getEditorComponent
public Component getEditorComponent()
- Specified by:
getEditorComponent
in interfaceComboBoxEditor
-
getItem
public Object getItem()
- Specified by:
getItem
in interfaceComboBoxEditor
-
setItem
public void setItem(Object anObject)
- Specified by:
setItem
in interfaceComboBoxEditor
-
setText
public void setText(String t)
- Overrides:
setText
in classJTextComponent
-
setMaxChars
public void setMaxChars(Integer max)
Sets the maximum number of characters allowed.- Parameters:
max
- maximum number of characters allowed- Since:
- 5579
-
addCellEditorListener
public void addCellEditorListener(CellEditorListener l)
- Specified by:
addCellEditorListener
in interfaceCellEditor
-
rememberOriginalValue
protected void rememberOriginalValue(String value)
-
restoreOriginalValue
protected void restoreOriginalValue()
-
removeCellEditorListener
public void removeCellEditorListener(CellEditorListener l)
- Specified by:
removeCellEditorListener
in interfaceCellEditor
-
cancelCellEditing
public void cancelCellEditing()
- Specified by:
cancelCellEditing
in interfaceCellEditor
-
getCellEditorValue
public Object getCellEditorValue()
- Specified by:
getCellEditorValue
in interfaceCellEditor
-
isCellEditable
public boolean isCellEditable(EventObject anEvent)
- Specified by:
isCellEditable
in interfaceCellEditor
-
shouldSelectCell
public boolean shouldSelectCell(EventObject anEvent)
- Specified by:
shouldSelectCell
in interfaceCellEditor
-
stopCellEditing
public boolean stopCellEditing()
- Specified by:
stopCellEditing
in interfaceCellEditor
-
getTableCellEditorComponent
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column)
- Specified by:
getTableCellEditorComponent
in interfaceTableCellEditor
-
-