| JavaTM 2 Platform Std. Ed. v1.6.0
javax.swing
Class JTabbedPane
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JTabbedPane
- All Implemented Interfaces:
- ImageObserver, MenuContainer, Serializable, Accessible, SwingConstants
public class JTabbedPane - extends JComponent
- implements Serializable, Accessible, SwingConstants
A component that lets the user switch between a group of components by
clicking on a tab with a given title and/or icon.
For examples and information on using tabbed panes see
How to Use Tabbed Panes,
a section in The Java Tutorial.
Tabs/components are added to a TabbedPane object by using the
addTab and insertTab methods.
A tab is represented by an index corresponding
to the position it was added in, where the first tab has an index equal to 0
and the last tab has an index equal to the tab count minus 1.
The TabbedPane uses a SingleSelectionModel
to represent the set
of tab indices and the currently selected index. If the tab count
is greater than 0, then there will always be a selected index, which
by default will be initialized to the first tab. If the tab count is
0, then the selected index will be -1.
The tab title can be rendered by a Component.
For example, the following produce similar results:
// In this case the look and feel renders the title for the tab.
tabbedPane.addTab("Tab", myComponent);
// In this case the custom component is responsible for rendering the
// title of the tab.
tabbedPane.addTab(null, myComponent);
tabbedPane.setTabComponentAt(0, new JLabel("Tab"));
The latter is typically used when you want a more complex user interaction
that requires custom components on the tab. For example, you could
provide a custom component that animates or one that has widgets for
closing the tab.
If you specify a component for a tab, the JTabbedPane
will not render any text or icon you have specified for the tab.
Note:
Do not use setVisible directly on a tab component to make it visible,
use setSelectedComponent or setSelectedIndex methods instead.
Warning: Swing is not thread safe. For more
information see Swing's Threading
Policy.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeansTM
has been added to the java.beans package.
Please see XMLEncoder.
- See Also:
SingleSelectionModel
|
Nested Class Summary |
protected class |
JTabbedPane.AccessibleJTabbedPane
This class implements accessibility support for the
JTabbedPane class. |
protected class |
JTabbedPane.ModelListener
We pass ModelChanged events along to the listeners with
the tabbedpane (instead of the model itself) as the event source. |
|
Field Summary |
protected ChangeEvent |
changeEvent
Only one ChangeEvent is needed per TabPane
instance since the
event's only (read-only) state is the source property. |
protected ChangeListener |
changeListener
The changeListener is the listener we add to the
model. |
protected SingleSelectionModel |
model
The default selection model |
static int |
SCROLL_TAB_LAYOUT
Tab layout policy for providing a subset of available tabs when all
the tabs will not fit within a single run. |
protected int |
tabPlacement
Where the tabs are placed. |
static int |
WRAP_TAB_LAYOUT
The tab layout policy for wrapping tabs in multiple runs when all
tabs will not fit within a single run. |
| Fields inherited from interface javax.swing.SwingConstants |
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
|
Constructor Summary |
JTabbedPane()
Creates an empty TabbedPane with a default
tab placement of JTabbedPane.TOP. |
JTabbedPane(int tabPlacement)
Creates an empty TabbedPane with the specified tab placement
of either: JTabbedPane.TOP, JTabbedPane.BOTTOM,
JTabbedPane.LEFT, or JTabbedPane.RIGHT. |
JTabbedPane(int tabPlacement,
int tabLayoutPolicy)
Creates an empty TabbedPane with the specified tab placement
and tab layout policy. |
|
Method Summary |
Component |
add(Component component)
Adds a component with a tab title defaulting to
the name of the component which is the result of calling
component.getName. |
Component |
add(Component component,
int index)
Adds a component at the specified tab index with a tab
title defaulting to the name of the component. |
void |
add(Component component,
Object constraints)
Adds a component to the tabbed pane. |
void |
add(Component component,
Object constraints,
int index)
Adds a component at the specified tab index. |
Component |
add(String title,
Component component)
Adds a component with the specified tab title. |
void |
addChangeListener(ChangeListener l)
Adds a ChangeListener to this tabbedpane. |
void |
addTab(String title,
Component component)
Adds a component represented by a title
and no icon. |
void |
addTab(String title,
Icon icon,
Component component)
Adds a component represented by a title
and/or icon, either of which can be null. |
void |
addTab(String title,
Icon icon,
Component component,
String tip)
Adds a component and tip
represented by a title and/or icon,
either of which can be null. |
protected ChangeListener |
createChangeListener()
Subclasses that want to handle ChangeEvents differently
can override this to return a subclass of ModelListener or
another ChangeListener implementation. |
protected void |
fireStateChanged()
Sends a ChangeEvent, with this JTabbedPane as the source,
to each registered listener. |
AccessibleContext |
getAccessibleContext()
Gets the AccessibleContext associated with this JTabbedPane. |
Color |
getBackgroundAt(int index)
Returns the tab background color at index. |
Rectangle |
getBoundsAt(int index)
Returns the tab bounds at index. |
ChangeListener[] |
getChangeListeners()
Returns an array of all the ChangeListeners added
to this JTabbedPane with addChangeListener. |
Component |
getComponentAt(int index)
Returns the component at index. |
Icon |
getDisabledIconAt(int index)
Returns the tab disabled icon at index. |
int |
getDisplayedMnemonicIndexAt(int tabIndex)
Returns the character, as an index, that the look and feel should
provide decoration for as representing the mnemonic character. |
Color |
getForegroundAt(int index)
Returns the tab foreground color at index. |
Icon |
getIconAt(int index)
Returns the tab icon at index. |
int |
getMnemonicAt(int tabIndex)
Returns the keyboard mnemonic for accessing the specified tab. |
SingleSelectionModel |
getModel()
Returns the model associated with this tabbedpane. |
Component |
getSelectedComponent()
Returns the currently selected component for this tabbedpane. |
int |
getSelectedIndex()
Returns the currently selected index for this tabbedpane. |
Component |
getTabComponentAt(int index)
Returns the tab component at index. |
int |
getTabCount()
Returns the number of tabs in this tabbedpane. |
int |
getTabLayoutPolicy()
Returns the policy used by the tabbedpane to layout the tabs when all the
tabs will not fit within a single run. |
int |
getTabPlacement()
Returns the placement of the tabs for this tabbedpane. |
int |
getTabRunCount()
Returns the number of tab runs currently used to display
the tabs. |
String |
getTitleAt(int index)
Returns the tab title at index. |
String |
getToolTipText(MouseEvent event)
Returns the tooltip text for the component determined by the
mouse event location. |
String |
getToolTipTextAt(int index)
Returns the tab tooltip text at index. |
TabbedPaneUI |
getUI()
Returns the UI object which implements the L&F for this component. |
String |
getUIClassID()
Returns the name of the UI class that implements the
L&F for this component. |
int |
indexAtLocation(int x,
int y)
Returns the tab index corresponding to the tab whose bounds
intersect the specified location. |
int |
indexOfComponent(Component component)
Returns the index of the tab for the specified component. |
int |
indexOfTab(Icon icon)
Returns the first tab index with a given icon,
or -1 if no tab has this icon. |
int |
indexOfTab(String title)
Returns the first tab index with a given title, or
-1 if no tab has this title. |
int |
indexOfTabComponent(Component tabComponent)
Returns the index of the tab for the specified tab component. |
void |
insertTab(String title,
Icon icon,
Component component,
String tip,
int index)
Inserts a component, at index,
represented by a title and/or icon,
either of which may be null. |
boolean |
isEnabledAt(int index)
Returns whether or not the tab at index is
currently enabled. |
protected String |
paramString()
Returns a string representation of this JTabbedPane. |
void |
remove(Component component)
Removes the specified Component from the
JTabbedPane. |
void |
remove(int index)
Removes the tab and component which corresponds to the specified index. |
void |
removeAll()
Removes all the tabs and their corresponding components
from the tabbedpane. |
void |
removeChangeListener(ChangeListener l)
Removes a ChangeListener from this tabbedpane. |
void |
removeTabAt(int index)
Removes the tab at index. |
void |
setBackgroundAt(int index,
Color background)
Sets the background color at index to
background
which can be null, in which case the tab's background color
will default to the background color of the tabbedpane. |
void |
setComponentAt(int index,
Component component)
Sets the component at index to component. |
void |
setDisabledIconAt(int index,
Icon disabledIcon)
Sets the disabled icon at index to icon
which can be null. |
void |
setDisplayedMnemonicIndexAt(int tabIndex,
int mnemonicIndex)
Provides a hint to the look and feel as to which character in the
text should be decorated to represent the mnemonic. |
void |
setEnabledAt(int index,
boolean enabled)
Sets whether or not the tab at index is enabled. |
void |
setForegroundAt(int index,
Color foreground)
Sets the foreground color at index to
foreground which can be
null, in which case the tab's foreground color
will default to the foreground color of this tabbedpane. |
void |
setIconAt(int index,
Icon icon)
Sets the icon at index to icon which can be
null. |
void |
setMnemonicAt(int tabIndex,
int mnemonic)
Sets the keyboard mnemonic for accessing the specified tab. |
void |
setModel(SingleSelectionModel model)
Sets the model to be used with this tabbedpane. |
void |
setSelectedComponent(Component c)
Sets the selected component for this tabbedpane. |
void |
setSelectedIndex(int index)
Sets the selected index for this tabbedpane. |
void |
setTabComponentAt(int index,
Component component)
Sets the component that is responsible for rendering the
title for the specified tab. |
void |
setTabLayoutPolicy(int tabLayoutPolicy)
Sets the policy which the tabbedpane will use in laying out the tabs
when all the tabs will not fit within a single run. |
void |
setTabPlacement(int tabPlacement)
Sets the tab placement for this tabbedpane. |
void |
setTitleAt(int index,
String title)
Sets the title at index to title which
can be null. |
void |
setToolTipTextAt(int index,
String toolTipText)
Sets the tooltip text at index to toolTipText
which can be null. |
void |
setUI(TabbedPaneUI ui)
Sets the UI object which implements the L&F for this component. |
void |
updateUI()
Resets the UI property to a value from the current look and feel. |
| 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, 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, setEnabled, 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 |
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, 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 |
WRAP_TAB_LAYOUT
public static final int WRAP_TAB_LAYOUT
- The tab layout policy for wrapping tabs in multiple runs when all
tabs will not fit within a single run.
- See Also:
- Constant Field Values
SCROLL_TAB_LAYOUT
public static final int SCROLL_TAB_LAYOUT
- Tab layout policy for providing a subset of available tabs when all
the tabs will not fit within a single run. If all the tabs do
not fit within a single run the look and feel will provide a way
to navigate to hidden tabs.
- See Also:
- Constant Field Values
tabPlacement
protected int tabPlacement
- Where the tabs are placed.
- See Also:
setTabPlacement(int)
model
protected SingleSelectionModel model
- The default selection model
changeListener
protected ChangeListener changeListener
- The
changeListener is the listener we add to the
model.
changeEvent
protected transient ChangeEvent changeEvent
- Only one
ChangeEvent is needed per TabPane
instance since the
event's only (read-only) state is the source property. The source
of events generated here is always "this".
JTabbedPane
public JTabbedPane()
- Creates an empty
TabbedPane with a default
tab placement of JTabbedPane.TOP.
- See Also:
addTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String)
JTabbedPane
public JTabbedPane(int tabPlacement)
- Creates an empty
TabbedPane with the specified tab placement
of either: JTabbedPane.TOP, JTabbedPane.BOTTOM,
JTabbedPane.LEFT, or JTabbedPane.RIGHT.
- Parameters:
tabPlacement - the placement for the tabs relative to the content- See Also:
addTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String)
JTabbedPane
public JTabbedPane(int tabPlacement,
int tabLayoutPolicy)
- Creates an empty
TabbedPane with the specified tab placement
and tab layout policy. Tab placement may be either:
JTabbedPane.TOP, JTabbedPane.BOTTOM,
JTabbedPane.LEFT, or JTabbedPane.RIGHT.
Tab layout policy may be either: JTabbedPane.WRAP_TAB_LAYOUT
or JTabbedPane.SCROLL_TAB_LAYOUT.
- Parameters:
tabPlacement - the placement for the tabs relative to the contenttabLayoutPolicy - the policy for laying out tabs when all tabs will not fit on one run
- Throws:
IllegalArgumentException - if tab placement or tab layout policy are not
one of the above supported values- Since:
- 1.4
- See Also:
addTab(java.lang.String, javax.swing.Icon, java.awt.Component, java.lang.String)
getUI
public TabbedPaneUI getUI()
- Returns the UI object which implements the L&F for this component.
- Returns:
- a
TabbedPaneUI object - See Also:
setUI(javax.swing.plaf.TabbedPaneUI)
setUI
public void setUI(TabbedPaneUI ui)
- Sets the UI object which implements the L&F for this component.
- Parameters:
ui - the new UI object- See Also:
UIDefaults.getUI(javax.swing.JComponent)
updateUI
public void updateUI()
- Resets the UI property to a value from the current look and feel.
- Overrides:
updateUI in class JComponent
- See Also:
JComponent.updateUI()
getUIClassID
public String getUIClassID()
- Returns the name of the UI class that implements the
L&F for this component.
- Overrides:
getUIClassID in class JComponent
- Returns:
- the string "TabbedPaneUI"
- See Also:
JComponent.getUIClassID(),
UIDefaults.getUI(javax.swing.JComponent)
createChangeListener
protected ChangeListener createChangeListener()
- Subclasses that want to handle
ChangeEvents differently
can override this to return a subclass of ModelListener or
another ChangeListener implementation.
- See Also:
fireStateChanged()
addChangeListener
public void addChangeListener(ChangeListener l)
- Adds a
ChangeListener to this tabbedpane.
- Parameters:
l - the ChangeListener to add- See Also:
fireStateChanged(),
removeChangeListener(javax.swing.event.ChangeListener)
removeChangeListener
public void removeChangeListener(ChangeListener l)
- Removes a
ChangeListener from this tabbedpane.
- Parameters:
l - the ChangeListener to remove- See Also:
fireStateChanged(),
addChangeListener(javax.swing.event.ChangeListener)
getChangeListeners
public ChangeListener[] getChangeListeners()
- Returns an array of all the
ChangeListeners added
to this JTabbedPane with addChangeListener.
- Returns:
- all of the
ChangeListeners added or an empty
array if no listeners have been added - Since:
- 1.4
fireStateChanged
protected void fireStateChanged()
- Sends a
ChangeEvent, with this JTabbedPane as the source,
to each registered listener. This method is called each |