Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (


Class CommentEditor

  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by oracle.ide.db.controls.CommentEditor

All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer,, javax.accessibility.Accessible, Traversable

public class CommentEditor
extends javax.swing.JPanel
implements Traversable

Widget for editing an object's comment. Can be used as a component on a panel, or as a traversable in its own right.

See Also:
Serialized Form

Nested Class Summary


Nested classes/interfaces inherited from class javax.swing.JPanel


Nested classes/interfaces inherited from class javax.swing.JComponent


Nested classes/interfaces inherited from class java.awt.Container


Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy


Field Summary
static int LABEL_ABOVE
static int LABEL_LEFT
static int NO_LABEL


Fields inherited from class javax.swing.JComponent


Fields inherited from class java.awt.Component


Fields inherited from interface java.awt.image.ImageObserver


Constructor Summary
CommentEditor(int labelPolicy)


Method Summary
 void commit(DBObject obj)
 java.awt.Component getComponent()
          Normally, the Traversable class will itself be the UI Component.
 java.lang.Object getExitTransition()
          Returns the exit transition that can be used by a Traversable-aware wizard.
 java.lang.String getHelpID()
          Returns the context-sensitive help topic ID to use for this Traversable.
 void init(DBObjectProvider prov, DBObject obj)
 void init(DBObjectProvider prov, DBObject obj, oracle.ide.db.verifiers.relation.RelationInfoVerifier verifier)
 void onEntry(TraversableContext data)
          This method is called when the Traversable is being entered.
 void onExit(TraversableContext data)
          This method is called when the Traversable is being exited.
 void setEnabled(boolean boo)


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


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, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, 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, transferFocusBackward, transferFocusDownCycle, validate, validateTree


Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, 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, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, 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


public static int NO_LABEL


public static int LABEL_ABOVE


public static int LABEL_LEFT

Constructor Detail


public CommentEditor()


public CommentEditor(int labelPolicy)

Method Detail


public void init(DBObjectProvider prov,
                 DBObject obj)


public void init(DBObjectProvider prov,
                 DBObject obj,
                 oracle.ide.db.verifiers.relation.RelationInfoVerifier verifier)


public void commit(DBObject obj)
            throws ValidationException


public void setEnabled(boolean boo)
setEnabled in class javax.swing.JComponent


public void onEntry(TraversableContext data)
Description copied from interface: Traversable
This method is called when the Traversable is being entered. The data that the Traversable should use to populate its UI components comes from the specified TraversableContext.

When the same Traversable is entered more than once in the course of interacting with the user, the Traversable needs to reload the data directly from the TraversableContext rather than caching data objects. Some reasons for this include:

Loading data directly from the TraversableContext is the best way to ensure that the Traversable will not be editing the wrong data.

The Traversable should not even cache references to data objects between invocations of onEntry and Traversable.onExit(TraversableContext) because the UI container is not required to guarantee that the references will be identical.

Specified by:
onEntry in interface Traversable
data - The data wrapper where the Traversable locates the data that it needs to populate the UI.


public java.awt.Component getComponent()
Description copied from interface: Traversable
Normally, the Traversable class will itself be the UI Component. Therefore, getComponent() typically just returns this. In this situation the getComponent() method then is simply a means of avoiding a type cast.

In other cases, it would be useful to have the ability to return a different Component based on the contents of the TraversableContext that is passed to the Traversable.onEntry(TraversableContext) method. UI containers (e.g. property dialogs and wizards) that are designed to use the Traversable interface must call the Traversable.onEntry(TraversableContext) method before calling getComponent(). This allows a Traversable implementation to have the opportunity to configure the UI Component or even create a new one before it is displayed.

In either situation, the implementation should strive to return the same Component instance as often as possible rather than creating a new instance becaues the UI container will call this method frequently.

Specified by:
getComponent in interface Traversable
The UI Component that the user interacts with for creating or editing an object.


public void onExit(TraversableContext data)
            throws TraversalException
Description copied from interface: Traversable
This method is called when the Traversable is being exited. At this point, the Traversable should copy the data from its associated UI back into the data structures in the TraversableContext.

If the Traversable should not be exited because the user has entered either incomplete, invalid, or inconsistent data, then this method can throw a TraversalException to indicate to the property dialog or wizard that validation failed and that the user should not be allowed to exit the current Traversable. Refer to the TraversalException javadoc for details on passing the error message that should be shown to the user.

Specified by:
onExit in interface Traversable
data - The data object where changes made in the UI should be copied so that the changes can be accessed by other Traversables.
TraversalException - if the user has entered either incomplete, invalid, or inconsistent data. This exception prevents the property dialog or wizard from continuing and forces the user to stay on the current Traversable until the data entered is valid or the user cancels. The exception class itself is capable of carrying an error message that will be shown to the user. Refer to its javadoc for details.


public java.lang.Object getExitTransition()
Description copied from interface: Traversable
Returns the exit transition that can be used by a Traversable-aware wizard. The wizard can use the exit transition to direct the user through an alternate or streamlined set of panels based on their current input.

If the Traversable implementation does not support multiple exit transitions or is not used in a wizard, then this method should just return null.

Specified by:
getExitTransition in interface Traversable
The exit transition for the Traversable that is used by dynamic interview-style wizards to determine the next course of action. A Traversable class that does not support multiple possible transitions should just return null.


public java.lang.String getHelpID()
Description copied from interface: Traversable
Returns the context-sensitive help topic ID to use for this Traversable. A null return value means that the Traversable implementation doesn't specify a help topic ID. However, there are other ways that a help topic ID could get associated with a Traversable.

Specifically, when a Traversable instance is created by a MetaTraversable such as Step or Navigable in the context of a Navigable container such as MDDPanel, TabbedPanel or FSMWizard, the help ID is searched according to the following order:

  1. MetaTraversable.getHelpID()
  2. Traversable.getHelpID(). This may lead into a recursion if the Traversable's Component is a nested Navigable container.
  3. Traversable.getComponent() )
  4. on the Navigable container itself.
  5. null
The search returns the first non-null help ID encountered or else null if all possible sources of a help ID returned null.

Since a Navigable wraps a Traversable, and a Traversable wraps a Component, the priority order for determining the help ID is based on giving the outer-most wrapper the opportunity to override. The Navigable container has the lowest priority because containers such as MDDPanel, TabbedPanel, and FSMWizard don't normally have a help topic ID of their own, since help topics tend to be on a per page basis.

For most cases the recommended approach is to have the Traversable specify the help ID. However, when the same Traversable can be used in different contexts, then specifying or overriding the help ID from the MetaTraversable could be better, especially if that avoids the need for conditional logic in Traversable.getHelpID(). If no dynamic behavior is needed in determining the help ID, then the implementation can probably just subclass DefaultTraversablePanel and call the DefaultTraversablePanel.setHelpID(String) method from the subclass constructor.

The getHelpID() method is called only when the user requests help, so the actual help ID may be determined dynamically (e.g. return a different ID depending on the state of the UI).

Specified by:
getHelpID in interface Traversable

Skip navigation links

Oracle Fusion Middleware Java API Reference for Oracle Extension SDK
11g Release 2 (


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