Extension SDK 10.1.2

oracle.ide.panels
Class TabbedPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byoracle.ide.panels.DefaultTraversablePanel
                      extended byoracle.ide.panels.AbstractUIContainer
                          extended byoracle.ide.panels.TabbedPanel
All Implemented Interfaces:
javax.accessibility.Accessible, ApplyListener, ApplyNotifier, javax.swing.event.ChangeListener, java.util.EventListener, GridBagConstants, java.awt.image.ImageObserver, java.awt.MenuContainer, oracle.ide.panels.NavigableUIContainer, java.io.Serializable, Traversable

public class TabbedPanel
extends oracle.ide.panels.AbstractUIContainer
implements javax.swing.event.ChangeListener

This is a NavigableUIContainer implementation whose appearance is based on JTabbedPane; each page of a TabbedPanel is a Traversable and the order of the pages is specified by an array of Navigables.

This implementation only supports a single level of tabs; it does not support nested tabs (i.e. "tabs within tabs").

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
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 NAVIGABLE_UI_CONTAINER
          Constant used to get an instance of NavigableUIContainer from TraversableContext.getDesignTimeObject(String).
 
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 oracle.ide.controls.GridBagConstants
ANCHOR_C, ANCHOR_E, ANCHOR_N, ANCHOR_NE, ANCHOR_NW, ANCHOR_S, ANCHOR_SE, ANCHOR_SW, ANCHOR_W, FILL_NONE, FILL_X, FILL_XY, FILL_Y
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
TabbedPanel(Navigable[] rootNavigables)
           
TabbedPanel(Navigable[] rootNavigables, int tabPlacement)
           
 
Method Summary
 void addApplyListener(ApplyListener applyListener)
          Adds an ApplyListener that will be called when the user applies or cancels changes.
protected  void addListener(java.lang.Class eventClass, java.util.EventListener listener)
           
 void apply(ApplyEvent e)
          This method is called when the changes made in the NavigableUIContainer are to be committed to the original data structures.
 void cancel(ApplyEvent e)
          This method is called when the changes made in the NavigableUIContainer are to be discarded.
static Navigable createNavigable(java.lang.String labelText, Navigable[] tabs)
          Creates a Navigable instance for a TabbedPanel with the specified tabs.
 boolean displayDetailNodesAsChildren()
          Returns true if the UI container is displaying detail nodes with the children rather than in a separate tree.
protected  void fireApply(ApplyEvent event)
          Fires the "apply" message to all registered ApplyListener objects.
protected  void fireCancel(ApplyEvent event)
          Fires the "cancel" message to all registered ApplyListener objects.
protected  Navigable getCurrentNavigable()
          Concrete subclasses must implement this method to return the Navigable that is currently selected in the UI.
protected  Traversable getCurrentTraversable()
          Concrete subclasses must implement this method to return the Traversable that is currently selected in the UI.
 java.lang.String getHelpID()
          Returns the context-sensitive help topic ID to use for this Traversable.
protected  java.util.Iterator getListenerIterator(java.lang.Class listenerClass)
           
protected  Navigable[] getRootNavigables()
           
protected  void maybeRefreshUI(TraversableContext tc)
           
protected  TraversableContext newTraversableContext()
          Returns a new TraversableContext that is initialized based on the Navigable returned by AbstractUIContainer.getCurrentNavigable().
 void onEntry(TraversableContext tc)
          This implementation passes the onEntry call through the current Traversable being displayed in the tabbed pane.
 void onExit(TraversableContext tc)
          This implementation passes the onExit call through the current Traversable being displayed in the tabbed pane.
protected  void refreshUI(TraversableContext tc)
           
 void removeApplyListener(ApplyListener applyListener)
          Removes a previously added ApplyListener so that it no longer receives notification when the user applies or cancels changes.
protected  void removeListener(java.lang.Class eventClass, java.util.EventListener listener)
           
 void setRootNavigables(Navigable[] rootNavigables)
          Sets the root-level Navigable instances for the UI.
 void stateChanged(javax.swing.event.ChangeEvent e)
           
 
Methods inherited from class oracle.ide.panels.DefaultTraversablePanel
gbc, gbc, getComponent, getDefaultTitle, getExitTransition, getText, setDefaultTitle, setHelpID
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
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, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, 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
 
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, addInputMethodListener, 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, getInputMethodRequests, 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, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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
 
Methods inherited from interface oracle.ide.panels.Traversable
getComponent, getExitTransition
 

Field Detail

NAVIGABLE_UI_CONTAINER

public static final java.lang.String NAVIGABLE_UI_CONTAINER
Constant used to get an instance of NavigableUIContainer from TraversableContext.getDesignTimeObject(String).

See Also:
Constant Field Values
Constructor Detail

TabbedPanel

public TabbedPanel(Navigable[] rootNavigables)

TabbedPanel

public TabbedPanel(Navigable[] rootNavigables,
                   int tabPlacement)
Method Detail

createNavigable

public static Navigable createNavigable(java.lang.String labelText,
                                        Navigable[] tabs)
Creates a Navigable instance for a TabbedPanel with the specified tabs.


onEntry

public void onEntry(TraversableContext tc)
This implementation passes the onEntry call through the current Traversable being displayed in the tabbed pane.

Specified by:
onEntry in interface Traversable

onExit

public void onExit(TraversableContext tc)
            throws TraversalException
This implementation passes the onExit call through the current Traversable being displayed in the tabbed pane.

Specified by:
onExit in interface Traversable
Throws:
TraversalException

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent e)
Specified by:
stateChanged in interface javax.swing.event.ChangeListener

refreshUI

protected void refreshUI(TraversableContext tc)

getCurrentNavigable

protected Navigable getCurrentNavigable()
Description copied from class: oracle.ide.panels.AbstractUIContainer
Concrete subclasses must implement this method to return the Navigable that is currently selected in the UI.


getCurrentTraversable

protected Traversable getCurrentTraversable()
Description copied from class: oracle.ide.panels.AbstractUIContainer
Concrete subclasses must implement this method to return the Traversable that is currently selected in the UI.


getHelpID

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. oracle.bali.ewt.help.HelpUtils.getHelpID( Traversable.getComponent() )
  4. oracle.bali.ewt.help.HelpUtils.getHelpID(...) 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
Overrides:
getHelpID in class DefaultTraversablePanel

addApplyListener

public void addApplyListener(ApplyListener applyListener)
Description copied from interface: ApplyNotifier
Adds an ApplyListener that will be called when the user applies or cancels changes.

Specified by:
addApplyListener in interface ApplyNotifier

removeApplyListener

public void removeApplyListener(ApplyListener applyListener)
Description copied from interface: ApplyNotifier
Removes a previously added ApplyListener so that it no longer receives notification when the user applies or cancels changes.

Specified by:
removeApplyListener in interface ApplyNotifier

apply

public void apply(ApplyEvent e)
Description copied from interface: ApplyListener
This method is called when the changes made in the NavigableUIContainer are to be committed to the original data structures. This normally occurs when the user pushes the "OK", "Apply", or "Finish" button.

This method is called as soon as the user's action is recognized. Typically, if the NavigableUIContainer is editing a copy of the original data, there will be an ApplyListener registered that is responsible for flushing the changes from the edited data copy back to the original data structure. The API in the oracle.ide.panels package does not specify when such an ApplyListener is registered or whether one is registered at all.

If you are writing code that must depend on the registration order of such an ApplyListener, you will need to consult the documentation for the code that instantiates the NavigableUIContainer to determine if the registration order for ApplyListeners is specified there.

Specified by:
apply in interface ApplyListener
Parameters:
e - The ApplyEvent that provides contextual information about when the ApplyEvent was fired.

cancel

public void cancel(ApplyEvent e)
Description copied from interface: ApplyListener
This method is called when the changes made in the NavigableUIContainer are to be discarded. This normally occurs when the user pushes the "Cancel" button.

No data validation occurs when the user cancels, and the NavigableUIContainer may or may not call the onExit method of the currently showing Traversable. In general, onExit will not be called.

Specified by:
cancel in interface ApplyListener
Parameters:
e - The ApplyEvent that provides contextual information about when the ApplyEvent was fired.

setRootNavigables

public void setRootNavigables(Navigable[] rootNavigables)
Description copied from interface: oracle.ide.panels.NavigableUIContainer
Sets the root-level Navigable instances for the UI.

Specified by:
setRootNavigables in interface oracle.ide.panels.NavigableUIContainer

displayDetailNodesAsChildren

public boolean displayDetailNodesAsChildren()
Description copied from interface: oracle.ide.panels.NavigableUIContainer
Returns true if the UI container is displaying detail nodes with the children rather than in a separate tree. That is:

Specified by:
displayDetailNodesAsChildren in interface oracle.ide.panels.NavigableUIContainer

addListener

protected void addListener(java.lang.Class eventClass,
                           java.util.EventListener listener)

removeListener

protected void removeListener(java.lang.Class eventClass,
                              java.util.EventListener listener)

getRootNavigables

protected Navigable[] getRootNavigables()

maybeRefreshUI

protected final void maybeRefreshUI(TraversableContext tc)

newTraversableContext

protected TraversableContext newTraversableContext()
Returns a new TraversableContext that is initialized based on the Navigable returned by AbstractUIContainer.getCurrentNavigable().


getListenerIterator

protected java.util.Iterator getListenerIterator(java.lang.Class listenerClass)

fireApply

protected void fireApply(ApplyEvent event)
Fires the "apply" message to all registered ApplyListener objects.


fireCancel

protected void fireCancel(ApplyEvent event)
Fires the "cancel" message to all registered ApplyListener objects.


Extension SDK

 

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