Extension SDK 10.1.2

oracle.javatools.controls.completionfield
Class CompletionTextField

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.text.JTextComponent
                  extended byjavax.swing.JTextField
                      extended byoracle.javatools.controls.completionfield.CompletionTextField
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.Scrollable, java.io.Serializable, javax.swing.SwingConstants
Direct Known Subclasses:
FileField, MacroTextField

public class CompletionTextField
extends javax.swing.JTextField

CompletionTextField is a JTextField with built in support for displaying a completion list. In many ways, this behaves like the code insight support provided by the code editor, but for a text field.

The completion provided by the field is configured via one or more pluggable FieldInsightProvider instances. Each insight provider describes when to trigger insight, which items appear in the insight list for a given position in the field, how to complete insight when requested by the user, and how items in the insight list should appear.

It's acceptible to register multiple FieldInsightProviders with a CompletionTextField. Each provider will be queried in turn whenever a character is typed into the field.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JTextField
javax.swing.JTextField.AccessibleJTextField
 
Nested classes inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.KeyBinding
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static java.lang.String SHOW_INSIGHT_ACTION_NAME
          The action to trigger display of insight in the ActionMap of this component.
 
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
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 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
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
CompletionTextField()
           
 
Method Summary
 java.awt.Color getCompletionBackground()
          Returns the background color for the completion popup list.
 boolean isAlignWithField()
          Get whether the insight popup of this field should be left aligned with the text field.
 boolean isInsightActive()
           
 boolean isInsightVisible()
          Determine whether the insight list is currently visible.
 boolean isWidthOfField()
          Get whether the drop down list for this field will be automatically adjusted so that it is at least as wide as the text field.
 void registerInsightProvider(FieldInsightProvider provider)
          Register an insight provider with this field.
 void removeNotify()
           
 void setAlignWithField(boolean isAlignWithField)
          Set whether the insight popup of this field should be left aligned with the text field.
 void setCompletionBackground(java.awt.Color insightBackground)
          Sets the background color for the completion popup list.
 void setInsightVisible(boolean isVisible)
          Programmatically show or hide the insight list.
 void setText(java.lang.String text)
          Override to prevent programmatic setting of text from triggering the insight list.
 void setWidthOfField(boolean isWidthOfField)
          Set whether the drop down list for this field will be automatically adjusted so that it is at least as wide as the text field.
 void unregisterInsightProvider(FieldInsightProvider provider)
          Unregister an insight provider from the field.
 
Methods inherited from class javax.swing.JTextField
addActionListener, configurePropertiesFromAction, createActionPropertyChangeListener, createDefaultModel, 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, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedText, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, moveCaretPosition, paste, processInputMethodEvent, read, removeCaretListener, removeKeymap, replaceSelection, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDragEnabled, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, setUI, updateUI, viewToModel, write
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SHOW_INSIGHT_ACTION_NAME

public static final java.lang.String SHOW_INSIGHT_ACTION_NAME
The action to trigger display of insight in the ActionMap of this component. You can override the default keybinding for this action using code like this:
   CompletionTextField field = new CompletionTextField();
   field.getInputMap().put( KeyStroke.getKeyStroke( "control pressed SPACE" ), 
     CompletionTextField.SHOW_INSIGHT_ACTION_NAME );
 

See Also:
Constant Field Values
Constructor Detail

CompletionTextField

public CompletionTextField()
Method Detail

removeNotify

public void removeNotify()

setText

public void setText(java.lang.String text)
Override to prevent programmatic setting of text from triggering the insight list.

Parameters:
text -

isInsightActive

public boolean isInsightActive()

getCompletionBackground

public java.awt.Color getCompletionBackground()
Returns the background color for the completion popup list.


setCompletionBackground

public void setCompletionBackground(java.awt.Color insightBackground)
Sets the background color for the completion popup list.


setAlignWithField

public void setAlignWithField(boolean isAlignWithField)
Set whether the insight popup of this field should be left aligned with the text field. The default value of this property is false, and the insight popup will appear in a location close to the caret.


isAlignWithField

public boolean isAlignWithField()
Get whether the insight popup of this field should be left aligned with the text field. The default value of this property is false, and the insight popup will appear in a location close to the caret.


setWidthOfField

public void setWidthOfField(boolean isWidthOfField)
Set whether the drop down list for this field will be automatically adjusted so that it is at least as wide as the text field. If set false, the drop down list will always use its preferred width regardless of the width of the text field.

Parameters:
isWidthOfField - if true, the drop down list width will always be at least the width of the field.

isWidthOfField

public boolean isWidthOfField()
Get whether the drop down list for this field will be automatically adjusted so that it is at least as wide as the text field. If set false, the drop down list will always use its preferred width regardless of the width of the text field.

Returns:
if true, the drop down list width will always be at least the width of the field.

registerInsightProvider

public void registerInsightProvider(FieldInsightProvider provider)
Register an insight provider with this field.

Parameters:
provider - the insight provider to register with the field.

unregisterInsightProvider

public void unregisterInsightProvider(FieldInsightProvider provider)
Unregister an insight provider from the field.

Parameters:
provider - the provider to unregister.

setInsightVisible

public final void setInsightVisible(boolean isVisible)
Programmatically show or hide the insight list.

Parameters:
isVisible - param isVisible whether the insight list should be visible

isInsightVisible

public final boolean isInsightVisible()
Determine whether the insight list is currently visible.

Returns:
true if the insight list is currently visible.

Extension SDK

 

Copyright © 1997, 2004, Oracle. All rights reserved.