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 |
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 |
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, 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, 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, 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 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.