# com.bea.ide.ui.propertyeditor.editors
DefaultPropertyEditor Class

public class DefaultPropertyEditor
extends `JPanel`
implements `FocusListener`, `IPropertyEditor`, `MouseListener`

This component manages display and editing of a property value in the IDE's property view. Mouse over, selection, and focus rendering will be handled by this class, as well as customizable formatting of the value string. PropertyEditors allowing keyboard input will support customizable filtering and validation.

Related Topics

``IProperty``
``IPropertyEditor``
``PropertyError``

Hierarchy
  `Object`
  `Component`
  `Container`
  `JComponent`
  `JPanel`
  `DefaultPropertyEditor`

All Implemented Interfaces
  `Accessible`, `EventListener`, `FocusListener`, `ImageObserver`, `IPropertyEditor`, `MenuContainer`, `MouseListener`, `Serializable`

Direct Known Subclasses
  `BuilderPropertyEditor`, `DropDownPropertyEditor`, `JavaIdentifierPropertyEditor`, `JavaTypePropertyEditor`

## Nested Class Summary

Nested classes from javax.swing`.`JPanel``
``JPanel.AccessibleJPanel``

Nested classes from javax.swing`.`JComponent``
``JComponent.AccessibleJComponent``

Nested classes from java.awt`.`Container``
``Container.AccessibleAWTContainer``

Nested classes from java.awt`.`Component``
``Component.AccessibleAWTComponent`, `Component.BltBufferStrategy`, `Component.FlipBufferStrategy``

## Field Summary

Fields from javax.swing`.`JComponent``
`accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

Fields from java.awt`.`Component``
`BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

Fields from interface java.awt.image`.`ImageObserver``
`ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

## Constructor Summary

DefaultPropertyEditor(`IProperty` property, boolean allowTextEdit, `JFormattedTextField.AbstractFormatter` formatter)
DefaultPropertyEditor(`IProperty` property, boolean allowTextEdit, `JFormattedTextField.AbstractFormatterFactory` formatFactory)
DefaultPropertyEditor(`IProperty` property, boolean allowTextEdit)
DefaultPropertyEditor(`IProperty` property, `JFormattedTextField.AbstractFormatter` formatter)
DefaultPropertyEditor(`IProperty` property, `JFormattedTextField.AbstractFormatterFactory` formatFactory)
DefaultPropertyEditor(`IProperty` property)

## Method Summary

`public void` | `activate`(`FocusListener` l) Initialize the editor display.
`public static `DefaultFormatter`` | `createDefaultFormatter`() Generates the default text field formatter used in the property view.
`public void` | `deactivate`(`FocusListener` l) Removes the listener from any focusable components that the listener was added to in addFocusListener.
`public void` | `focusGained`(`FocusEvent` e) Invoked when the text field gains the keyboard focus.
`public void` | `focusLost`(`FocusEvent` e) Invoked when the text field loses the keyboard focus.
`public `Component`` | `getComponent`() Returns the component which will be placed in the property view for display and editing of the property value.
`public `IProperty`` | `getProperty`() Returns the IProperty whose value this editor displays.
`public `JFormattedTextField`` | `getTextField`() Returns the `JFormattedTextField` used to edit the value.
`protected void` | `handleKeyPressedEvent`(`KeyEvent` e) Default key event handler for this editor.
`protected boolean` | `isFocusContainer`()
`public void` | `mouseClicked`(`MouseEvent` e) Handles setting of the property value.
`public void` | `mouseEntered`(`MouseEvent` e)
`public void` | `mouseExited`(`MouseEvent` e)
`public void` | `mousePressed`(`MouseEvent` e)
`public void` | `mouseReleased`(`MouseEvent` e)
`public boolean` | `setFocused`() Called by the property view when this property editor should request focus to a component in its display.

Methods from `javax.swing.`JPanel``
`getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI`

Methods from `javax.swing.`JComponent``
`addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, 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, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getUIClassID, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update, updateUI`

Methods from `java.awt.`Container``
`add, add, add, add, add, addContainerListener, addImpl, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, paramString, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, setLayout, transferFocusBackward, transferFocusDownCycle, update, validate, validateTree`

Methods from `java.awt.`Component``
`action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getAccessibleContext, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paint, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, update, validate`

Methods from class `java.lang.`Object``
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods from interface `javax.accessibility.`Accessible``
`getAccessibleContext`

Methods from interface `java.awt.event.`FocusListener``
`focusGained, focusLost`

Methods from interface `java.awt.image.`ImageObserver``
`imageUpdate`

Methods from interface `com.bea.ide.ui.propertyeditor.`IPropertyEditor``
``activate`, `deactivate`, `getComponent`, `getProperty`, `setFocused``

Methods from interface `java.awt.`MenuContainer``
`getFont, postEvent, remove`

Methods from interface `java.awt.event.`MouseListener``
`mouseClicked, mouseEntered, mouseExited, mousePressed, mouseReleased`

## Constructor Detail

### DefaultPropertyEditor

    protected DefaultPropertyEditor(IProperty property,
                                    boolean allowTextEdit,
                                    JFormattedTextField.AbstractFormatter formatter)

### DefaultPropertyEditor

    protected DefaultPropertyEditor(IProperty property,
                                    boolean allowTextEdit,
                                    JFormattedTextField.AbstractFormatterFactory formatFactory)

### DefaultPropertyEditor

    protected DefaultPropertyEditor(IProperty property,
                                    boolean allowTextEdit)

### DefaultPropertyEditor

    public DefaultPropertyEditor(IProperty property,
                                 JFormattedTextField.AbstractFormatter formatter)

### DefaultPropertyEditor

    public DefaultPropertyEditor(IProperty property,
                                 JFormattedTextField.AbstractFormatterFactory formatFactory)

### DefaultPropertyEditor

    public DefaultPropertyEditor(IProperty property)

## Method Detail

### activate(FocusListener) Method

    public void activate(FocusListener l)

Initialize the editor display.

Adds the focus listener to all focusable components in its display. The property view will update its selection highlighting for this property based on the focus gain and loss events received by this listener.

Note that if the property editor uses popup windows, it may need to add this focus listener to any focusable components in the popup window.

#### Parameters

l
  the focus listener

Related Topics

``FocusListener``

### createDefaultFormatter() Method

    public static DefaultFormatter createDefaultFormatter()

Generates the default text field formatter used in the property view. Formatter is set to insert mode.

#### Returns

DefaultFormatter

### deactivate(FocusListener) Method

    public void deactivate(FocusListener l)

Removes the listener from any focusable components that the listener was added to in addFocusListener.

#### Parameters

l
  the focus listener

Related Topics

``FocusListener``

### focusGained(FocusEvent) Method

    public void focusGained(FocusEvent e)

Invoked when the text field gains the keyboard focus.

### focusLost(FocusEvent) Method

    public void focusLost(FocusEvent e)

Invoked when the text field loses the keyboard focus.

### getComponent() Method

    public Component getComponent()

Returns the component which will be placed in the property view for display and editing of the property value.

The property view will call requestFocus on this component when it should take focus and display in edit mode.

#### Returns

Component

### getProperty() Method

    public IProperty getProperty()

Returns the IProperty whose value this editor displays.

#### Returns

IProperty

### getTextField() Method

    public JFormattedTextField getTextField()

Returns the `JFormattedTextField` used to edit the value.

#### Returns

JFormattedTextField

### handleKeyPressedEvent(KeyEvent) Method

    protected void handleKeyPressedEvent(KeyEvent e)

Default key event handler for this editor.

### isFocusContainer() Method

    protected boolean isFocusContainer()

#### Returns

Is focus currently somewhere in this editor.

### mouseClicked(MouseEvent) Method

    public void mouseClicked(MouseEvent e)

Handles setting of the property value. PropertyEditors that subclass this editor are advised to use this method to set the property value rather than calling the property's setValue method directly. This will make ensure that any focus changes that may occur as result of setting the value will not cause an unintended write of the previous value. This method will disable writing of the property value until the value has be re-read from from the property.

Made public to support test automation.

### mouseEntered(MouseEvent) Method

    public void mouseEntered(MouseEvent e)

### mouseExited(MouseEvent) Method

    public void mouseExited(MouseEvent e)

### mousePressed(MouseEvent) Method

    public void mousePressed(MouseEvent e)

### mouseReleased(MouseEvent) Method

    public void mouseReleased(MouseEvent e)

### setFocused() Method

    public boolean setFocused()

Called by the property view when this property editor should request focus to a component in its display.

Return value should reflect whether the focus request is guaranteed to fail or is likely to succeed. If the property editor already has focus, return true (note that this differs from the behavior of the Component and JComponent request focus methods which return false if the component already has focus).

Use of Component/JComponent.requestFocus(boolean temporary) is recommended (despite swing/awt java doc to the contrary). It is the only focus request method that both gives a return value, and will change active windows if necessary.

#### Returns

`false` if the focus request is guaranteed to fail; `true` if it is likely to succeed