public class TabbedPanel extends DefaultTraversablePanel
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 Navigable
s.This implementation only supports a single level of tabs; it does not support nested tabs (i.e. "tabs within tabs").
javax.swing.JPanel.AccessibleJPanel
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_TAB_INDEX
Put this key as a design time object in the TraversableContext, with an
Integer as the value, to select a specific tab onEntry.
|
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
NAVIGABLE_UI_CONTAINER
Constructor and Description |
---|
TabbedPanel(Navigable[] rootNavigables) |
TabbedPanel(Navigable[] rootNavigables,
int tabPlacement) |
TabbedPanel(Navigable[] rootNavigables,
javax.swing.plaf.TabbedPaneUI ui) |
Modifier and Type | Method and Description |
---|---|
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. |
void |
enableTabForNavigable(Navigable nav,
boolean enable)
Enables/disables the appropriate tab for the given navigable.
|
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()
This method allows a subclass to implement a dynamic means of
determining the help ID.
|
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 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 |
setStatusIndicator(StatusIndicator indicator,
int index)
Uses the given status indicator to configure the tab at the given
index to show the status of that tab.
|
void |
updateImage(java.awt.Image image) |
gbc, gbc, getComponent, getDefaultTitle, getExitTransition, getText, setDefaultTitle, setHelpID
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
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
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, 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, transferFocusBackward, transferFocusUpCycle
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getComponent, getExitTransition
public static final java.lang.String DEFAULT_TAB_INDEX
public TabbedPanel(Navigable[] rootNavigables)
public TabbedPanel(Navigable[] rootNavigables, int tabPlacement)
public TabbedPanel(Navigable[] rootNavigables, javax.swing.plaf.TabbedPaneUI ui)
public static Navigable createNavigable(java.lang.String labelText, Navigable[] tabs)
public void onEntry(TraversableContext tc)
onEntry
in interface Traversable
tc
- The data wrapper where the
Traversable
locates the data that it needs to
populate the UI.Traversable.onEntry(TraversableContext)
public void onExit(TraversableContext tc) throws TraversalException
onExit
in interface Traversable
tc
- The data object where changes made in the UI
should be copied so that the changes can be accessed by other
Traversable
s.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.Traversable.onExit(TraversableContext)
public void updateImage(java.awt.Image image)
public void enableTabForNavigable(Navigable nav, boolean enable)
nav
- the navigable object contained in the panel tab to enable/disableenable
- enable the tab if true else disableprotected void refreshUI(TraversableContext tc)
protected Navigable getCurrentNavigable()
Navigable
that is currently selected in the UI.protected Traversable getCurrentTraversable()
Traversable
that is currently selected in the UI.public void setStatusIndicator(StatusIndicator indicator, int index)
indicator
- the status indicator to use - if null the tab
component for the given index will be removed (and the default used).index
- the tab index to configureStatusIndicator.configureTab(javax.swing.JTabbedPane, int)
public java.lang.String getHelpID()
DefaultTraversablePanel
getHelpID
in interface Traversable
getHelpID
in class DefaultTraversablePanel
public void addApplyListener(ApplyListener applyListener)
ApplyNotifier
ApplyListener
that will be called when the
user applies or cancels changes.addApplyListener
in interface ApplyNotifier
public void removeApplyListener(ApplyListener applyListener)
ApplyNotifier
ApplyListener
so that it
no longer receives notification when the user applies or cancels
changes.removeApplyListener
in interface ApplyNotifier
public void apply(ApplyEvent e)
ApplyListener
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 ApplyListener
s is specified there.
apply
in interface ApplyListener
e
- The ApplyEvent
that provides contextual
information about when the ApplyEvent
was fired.public void cancel(ApplyEvent e)
ApplyListener
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.
cancel
in interface ApplyListener
e
- The ApplyEvent
that provides contextual
information about when the ApplyEvent
was fired.public void setRootNavigables(Navigable[] rootNavigables)
NavigableUIContainer
Navigable
instances for the UI.setRootNavigables
in interface NavigableUIContainer
public boolean displayDetailNodesAsChildren()
NavigableUIContainer
true
if the UI container is displaying
detail nodes with the children rather than in a separate tree.
That is:
false
.
true
.
That is, the tree displays detail nodes as children.
displayDetailNodesAsChildren
in interface NavigableUIContainer
protected void addListener(java.lang.Class eventClass, java.util.EventListener listener)
protected void removeListener(java.lang.Class eventClass, java.util.EventListener listener)
protected Navigable[] getRootNavigables()
protected final void maybeRefreshUI(TraversableContext tc)
protected TraversableContext newTraversableContext()
TraversableContext
that is initialized based
on the Navigable
returned by getCurrentNavigable()
.protected java.util.Iterator getListenerIterator(java.lang.Class listenerClass)
protected void fireApply(ApplyEvent event)
ApplyListener
objects.protected void fireCancel(ApplyEvent event)
ApplyListener
objects.