javax.swing

Class JTabbedPane

public class JTabbedPane extends JComponent implements Serializable, Accessible, SwingConstants

This is a container for components where only one component is displayed at a given time and the displayed component can be switched by clicking on tabs.

Tabs can be oriented in several ways. They can be above, below, left and right of the component. Tabs can either wrap around (by creating multiple rows of tabs) or they can be scrolled (where only a subset of the tabs can be seen at once). More tabs can be added by calling the add/addTab/insertTab methods.

Nested Class Summary
protected classJTabbedPane.AccessibleJTabbedPane
Accessibility support for JTabbedPane.
protected classJTabbedPane.ModelListener
A helper class that listens for changes to the model.
Field Summary
protected ChangeEventchangeEvent
The changeEvent used to fire changes to listeners.
protected ChangeListenerchangeListener
The listener that listens to the model.
protected SingleSelectionModelmodel
The model that describes this JTabbedPane.
static intSCROLL_TAB_LAYOUT
Indicates that the TabbedPane is in scrolling mode.
protected inttabPlacement
The current tabPlacement of the TabbedPane.
static intWRAP_TAB_LAYOUT
Indicates that the TabbedPane is in wrap mode.
Constructor Summary
JTabbedPane()
Creates a new JTabbedPane object with tabs on top and using wrap tab layout.
JTabbedPane(int tabPlacement)
Creates a new JTabbedPane object using wrap tab layout and the given tabPlacement, where tabPlacement can be one of the following values: {@link #TOP}, {@link #BOTTOM}, {@link #LEFT} or {@link #RIGHT}.
JTabbedPane(int tabPlacement, int tabLayoutPolicy)
Creates a new JTabbedPane object with the given tabPlacement and tabLayoutPolicy.
Method Summary
Componentadd(Component component)
This method adds a tab to the JTabbedPane.
Componentadd(String title, Component component)
This method adds a tab to the JTabbedPane.
Componentadd(Component component, int index)
This method adds a tab to the JTabbedPane.
voidadd(Component component, Object constraints)
This method adds a tab to the JTabbedPane.
voidadd(Component component, Object constraints, int index)
This method adds a tab to the JTabbedPane.
voidaddChangeListener(ChangeListener l)
This method adds a ChangeListener to the JTabbedPane.
voidaddTab(String title, Icon icon, Component component, String tip)
This method adds a tab to the JTabbedPane.
voidaddTab(String title, Icon icon, Component component)
This method adds a tab to the JTabbedPane.
voidaddTab(String title, Component component)
This method adds a tab to the JTabbedPane.
protected ChangeListenercreateChangeListener()
This method creates a ChangeListener that is used to listen to the model for events.
protected voidfireStateChanged()
This method fires a ChangeEvent to all the JTabbedPane's ChangeListeners.
AccessibleContextgetAccessibleContext()
Returns the object that provides accessibility features for this JTabbedPane component.
ColorgetBackgroundAt(int index)
This method returns the background color for the tab.
RectanglegetBoundsAt(int index)
This method returns the bounds of the tab given the index.
ChangeListener[]getChangeListeners()
This method returns all ChangeListeners registered with the JTabbedPane.
ComponentgetComponentAt(int index)
This method returns the component associated with the tab.
IcongetDisabledIconAt(int index)
This method returns the disabled icon given the index.
intgetDisplayedMnemonicIndexAt(int tabIndex)
This method returns the mnemonic index for the tab.
ColorgetForegroundAt(int index)
This method returns the foreground color for the tab.
IcongetIconAt(int index)
This method returns the active icon given the index.
intgetMnemonicAt(int tabIndex)
This method returns the mnemonic for the tab.
SingleSelectionModelgetModel()
This method returns the model used with the JTabbedPane.
ComponentgetSelectedComponent()
This method returns the component at the selected index.
intgetSelectedIndex()
This method returns the index of the tab that is currently selected.
intgetTabCount()
This method returns how many tabs are in the JTabbedPane.
intgetTabLayoutPolicy()
This method returns the tabLayoutPolicy.
intgetTabPlacement()
This method returns the tabPlacement.
intgetTabRunCount()
This method returns the number of runs used to paint the JTabbedPane.
StringgetTitleAt(int index)
This method returns the tab title given the index.
StringgetToolTipText(MouseEvent event)
This method returns the tooltip text given a mouse event.
StringgetToolTipTextAt(int index)
This method returns the tooltip string for the tab.
TabbedPaneUIgetUI()
This method returns the UI used to display the JTabbedPane.
StringgetUIClassID()
This method returns a string identifier that is used to determine which UI will be used with the JTabbedPane.
intindexAtLocation(int x, int y)
This method returns a tab index given an (x,y) location.
intindexOfComponent(Component component)
This method finds the index of a tab given the component.
intindexOfTab(String title)
This method finds the index of a tab given the title.
intindexOfTab(Icon icon)
This method finds the index of a tab given the icon.
voidinsertTab(String title, Icon icon, Component component, String tip, int index)
This method inserts tabs into JTabbedPane.
booleanisEnabledAt(int index)
This method returns whether this tab is enabled.
protected StringparamString()
Returns a string describing the attributes for the JTabbedPane component, for use in debugging.
voidremove(Component component)
Removes the specified Component from the JTabbedPane.
voidremove(int index)
Removes the tab and component which corresponds to the specified index.
voidremoveAll()
This method removes all tabs and associated components from the JTabbedPane.
voidremoveChangeListener(ChangeListener l)
This method removes a ChangeListener to the JTabbedPane.
voidremoveTabAt(int index)
Removes the tab at index.
voidsetBackgroundAt(int index, Color background)
This method sets the background color of the tab.
voidsetComponentAt(int index, Component component)
This method sets the component associated with the tab.
voidsetDisabledIconAt(int index, Icon disabledIcon)
This method sets the disabled icon of the tab.
voidsetDisplayedMnemonicIndexAt(int tabIndex, int mnemonicIndex)
This method sets the displayed mnemonic index of the tab.
voidsetEnabledAt(int index, boolean enabled)
This method sets whether the tab is enabled.
voidsetForegroundAt(int index, Color foreground)
This method sets the foreground color of the tab.
voidsetIconAt(int index, Icon icon)
This method sets the icon of the tab.
voidsetMnemonicAt(int tabIndex, int mnemonic)
This method sets the mnemonic for the tab.
voidsetModel(SingleSelectionModel m)
This method changes the model property of the JTabbedPane.
voidsetSelectedComponent(Component c)
This method sets the component at the selected index.
voidsetSelectedIndex(int index)
This method sets the selected index.
voidsetTabLayoutPolicy(int tabLayoutPolicy)
This method changes the tabLayoutPolicy property of the JTabbedPane.
voidsetTabPlacement(int tabPlacement)
This method changes the tabPlacement property of the JTabbedPane.
voidsetTitleAt(int index, String title)
This method sets the title of the tab.
voidsetToolTipTextAt(int index, String toolTipText)
This method sets the tooltip text of the tab.
voidsetUI(TabbedPaneUI ui)
This method sets the UI used to display the JTabbedPane.
voidupdateUI()
This method restores the UI to the defaults given by the UIManager.

Field Detail

changeEvent

protected ChangeEvent changeEvent
The changeEvent used to fire changes to listeners.

changeListener

protected ChangeListener changeListener
The listener that listens to the model.

model

protected SingleSelectionModel model
The model that describes this JTabbedPane.

SCROLL_TAB_LAYOUT

public static final int SCROLL_TAB_LAYOUT
Indicates that the TabbedPane is in scrolling mode.

tabPlacement

protected int tabPlacement
The current tabPlacement of the TabbedPane.

WRAP_TAB_LAYOUT

public static final int WRAP_TAB_LAYOUT
Indicates that the TabbedPane is in wrap mode.

Constructor Detail

JTabbedPane

public JTabbedPane()
Creates a new JTabbedPane object with tabs on top and using wrap tab layout.

JTabbedPane

public JTabbedPane(int tabPlacement)
Creates a new JTabbedPane object using wrap tab layout and the given tabPlacement, where tabPlacement can be one of the following values: {@link #TOP}, {@link #BOTTOM}, {@link #LEFT} or {@link #RIGHT}.

Parameters: tabPlacement where the tabs will be placed

JTabbedPane

public JTabbedPane(int tabPlacement, int tabLayoutPolicy)
Creates a new JTabbedPane object with the given tabPlacement and tabLayoutPolicy. The tabPlacement can be one of the following values: {@link #TOP}, {@link #BOTTOM}, {@link #LEFT} or {@link #RIGHT}. The tabLayoutPolicy can be either {@link #SCROLL_TAB_LAYOUT} or {@link #WRAP_TAB_LAYOUT}.

Parameters: tabPlacement where the tabs will be placed tabLayoutPolicy the way tabs will be placed

Throws: IllegalArgumentException If tabLayoutPolicy or tabPlacement are not valid.

Method Detail

add

public Component add(Component component)
This method adds a tab to the JTabbedPane. The title of the tab is the Component's name. If the Component is an instance of UIResource, it doesn't add the tab and instead add the component directly to the JTabbedPane.

Parameters: component The associated component.

Returns: The Component that was added.

add

public Component add(String title, Component component)
This method adds a tab to the JTabbedPane. If the Component is an instance of UIResource, it doesn't add the tab and instead add the component directly to the JTabbedPane.

Parameters: title the title of the tab; may be null component the associated component

Returns: The Component that was added.

add

public Component add(Component component, int index)
This method adds a tab to the JTabbedPane. If the Component is an instance of UIResource, it doesn't add the tab and instead add the component directly to the JTabbedPane.

Parameters: component The associated component. index The index to insert the tab at.

Returns: The Component that was added.

add

public void add(Component component, Object constraints)
This method adds a tab to the JTabbedPane. If the Component is an instance of UIResource, it doesn't add the tab and instead add the component directly to the JTabbedPane. If the constraints object is an icon, it will be used as the tab's icon. If the constraints object is a string, we will use it as the title.

Parameters: component The associated component. constraints The constraints object.

add

public void add(Component component, Object constraints, int index)
This method adds a tab to the JTabbedPane. If the Component is an instance of UIResource, it doesn't add the tab and instead add the component directly to the JTabbedPane. If the constraints object is an icon, it will be used as the tab's icon. If the constraints object is a string, we will use it as the title.

Parameters: component The associated component. constraints The constraints object. index The index to insert the tab at.

addChangeListener

public void addChangeListener(ChangeListener l)
This method adds a ChangeListener to the JTabbedPane.

Parameters: l The ChangeListener to add.

addTab

public void addTab(String title, Icon icon, Component component, String tip)
This method adds a tab to the JTabbedPane.

Parameters: title the title of the tab; may be null icon the icon for the tab; may be null component the associated component tip the associated tooltip

addTab

public void addTab(String title, Icon icon, Component component)
This method adds a tab to the JTabbedPane.

Parameters: title the title of the tab; may be null icon the icon for the tab; may be null component the associated component

addTab

public void addTab(String title, Component component)
This method adds a tab to the JTabbedPane.

Parameters: title the title of the tab; may be null component the associated component

createChangeListener

protected ChangeListener createChangeListener()
This method creates a ChangeListener that is used to listen to the model for events.

Returns: A ChangeListener to listen to the model.

fireStateChanged

protected void fireStateChanged()
This method fires a ChangeEvent to all the JTabbedPane's ChangeListeners.

getAccessibleContext

public AccessibleContext getAccessibleContext()
Returns the object that provides accessibility features for this JTabbedPane component.

Returns: The accessible context (an instance of {@link AccessibleJTabbedPane}).

getBackgroundAt

public Color getBackgroundAt(int index)
This method returns the background color for the tab.

Parameters: index The index of the tab.

Returns: The background color for the tab.

getBoundsAt

public Rectangle getBoundsAt(int index)
This method returns the bounds of the tab given the index.

Parameters: index The index of the tab.

Returns: A rectangle describing the bounds of the tab.

getChangeListeners

public ChangeListener[] getChangeListeners()
This method returns all ChangeListeners registered with the JTabbedPane.

Returns: The ChangeListeners registered with the JTabbedPane.

getComponentAt

public Component getComponentAt(int index)
This method returns the component associated with the tab.

Parameters: index The index of the tab.

Returns: The component associated with the tab.

getDisabledIconAt

public Icon getDisabledIconAt(int index)
This method returns the disabled icon given the index.

Parameters: index The index of the tab.

Returns: The disabled icon for the tab.

getDisplayedMnemonicIndexAt

public int getDisplayedMnemonicIndexAt(int tabIndex)
This method returns the mnemonic index for the tab.

Parameters: tabIndex The index of the tab.

Returns: The mnemonic index for the tab.

getForegroundAt

public Color getForegroundAt(int index)
This method returns the foreground color for the tab.

Parameters: index The index of the tab.

Returns: The foreground color for the tab.

getIconAt

public Icon getIconAt(int index)
This method returns the active icon given the index.

Parameters: index The index of the tab.

Returns: The active icon for the tab.

getMnemonicAt

public int getMnemonicAt(int tabIndex)
This method returns the mnemonic for the tab.

Parameters: tabIndex The index of the tab.

Returns: The mnemonic for the tab.

getModel

public SingleSelectionModel getModel()
This method returns the model used with the JTabbedPane.

Returns: The JTabbedPane's model.

getSelectedComponent

public Component getSelectedComponent()
This method returns the component at the selected index.

Returns: The component at the selected index.

getSelectedIndex

public int getSelectedIndex()
This method returns the index of the tab that is currently selected.

Returns: The index of the selected tab.

getTabCount

public int getTabCount()
This method returns how many tabs are in the JTabbedPane.

Returns: The number of tabs in the JTabbedPane.

getTabLayoutPolicy

public int getTabLayoutPolicy()
This method returns the tabLayoutPolicy.

Returns: The tabLayoutPolicy.

getTabPlacement

public int getTabPlacement()
This method returns the tabPlacement.

Returns: The tabPlacement used with the JTabbedPane.

getTabRunCount

public int getTabRunCount()
This method returns the number of runs used to paint the JTabbedPane.

Returns: The number of runs.

getTitleAt

public String getTitleAt(int index)
This method returns the tab title given the index.

Parameters: index The index of the tab.

Returns: The title for the tab.

getToolTipText

public String getToolTipText(MouseEvent event)
This method returns the tooltip text given a mouse event.

Parameters: event The mouse event.

Returns: The tool tip text that is associated with this mouse event.

getToolTipTextAt

public String getToolTipTextAt(int index)
This method returns the tooltip string for the tab.

Parameters: index The index of the tab.

Returns: The tooltip string for the tab.

getUI

public TabbedPaneUI getUI()
This method returns the UI used to display the JTabbedPane.

Returns: The UI used to display the JTabbedPane.

getUIClassID

public String getUIClassID()
This method returns a string identifier that is used to determine which UI will be used with the JTabbedPane.

Returns: A string identifier for the UI.

indexAtLocation

public int indexAtLocation(int x, int y)
This method returns a tab index given an (x,y) location. The origin of the (x,y) pair will be the JTabbedPane's top left position. The tab returned will be the one that contains the point. This method is delegated to the UI.

Parameters: x The x coordinate of the point. y The y coordinate of the point.

Returns: The index of the tab that contains the point.

indexOfComponent

public int indexOfComponent(Component component)
This method finds the index of a tab given the component.

Parameters: component A component associated with a tab.

Returns: The index of the tab that has this component or -1 if not found.

indexOfTab

public int indexOfTab(String title)
This method finds the index of a tab given the title.

Parameters: title The title that belongs to a tab.

Returns: The index of the tab that has the title or -1 if not found.

indexOfTab

public int indexOfTab(Icon icon)
This method finds the index of a tab given the icon.

Parameters: icon The icon that belongs to a tab.

Returns: The index of the tab that has the icon or -1 if not found.

insertTab

public void insertTab(String title, Icon icon, Component component, String tip, int index)
This method inserts tabs into JTabbedPane. This includes adding the component to the JTabbedPane and hiding it.

Parameters: title the title of the tab; may be null icon the tab's icon; may be null component the component associated with the tab tip the tooltip for the tab index the index to insert the tab at

isEnabledAt

public boolean isEnabledAt(int index)
This method returns whether this tab is enabled. Disabled tabs cannot be selected.

Parameters: index The index of the tab.

Returns: Whether the tab is enabled.

paramString

protected String paramString()
Returns a string describing the attributes for the JTabbedPane component, for use in debugging. The return value is guaranteed to be non-null, but the format of the string may vary between implementations.

Returns: A string describing the attributes of the JTabbedPane.

remove

public void remove(Component component)
Removes the specified Component from the JTabbedPane.

Parameters: component The Component to remove.

remove

public void remove(int index)
Removes the tab and component which corresponds to the specified index.

Parameters: index The index of the tab to remove.

removeAll

public void removeAll()
This method removes all tabs and associated components from the JTabbedPane.

removeChangeListener

public void removeChangeListener(ChangeListener l)
This method removes a ChangeListener to the JTabbedPane.

Parameters: l The ChangeListener to remove.

removeTabAt

public void removeTabAt(int index)
Removes the tab at index. After the component associated with index is removed, its visibility is reset to true to ensure it will be visible if added to other containers.

Parameters: index The index of the tab to remove.

setBackgroundAt

public void setBackgroundAt(int index, Color background)
This method sets the background color of the tab.

Parameters: index The index of the tab. background The background color of the tab.

setComponentAt

public void setComponentAt(int index, Component component)
This method sets the component associated with the tab.

Parameters: index The index of the tab. component The component associated with the tab.

setDisabledIconAt

public void setDisabledIconAt(int index, Icon disabledIcon)
This method sets the disabled icon of the tab.

Parameters: index The index of the tab. disabledIcon The new disabled icon.

setDisplayedMnemonicIndexAt

public void setDisplayedMnemonicIndexAt(int tabIndex, int mnemonicIndex)
This method sets the displayed mnemonic index of the tab.

Parameters: tabIndex The index of the tab. mnemonicIndex The mnemonic index.

setEnabledAt

public void setEnabledAt(int index, boolean enabled)
This method sets whether the tab is enabled.

Parameters: index The index of the tab. enabled Whether the tab is enabled.

setForegroundAt

public void setForegroundAt(int index, Color foreground)
This method sets the foreground color of the tab.

Parameters: index The index of the tab. foreground The foreground color of the tab.

setIconAt

public void setIconAt(int index, Icon icon)
This method sets the icon of the tab.

Parameters: index The index of the tab. icon The new icon.

setMnemonicAt

public void setMnemonicAt(int tabIndex, int mnemonic)
This method sets the mnemonic for the tab.

Parameters: tabIndex The index of the tab. mnemonic The mnemonic.

setModel

public void setModel(SingleSelectionModel m)
This method changes the model property of the JTabbedPane.

Parameters: m The new model to use with the JTabbedPane.

setSelectedComponent

public void setSelectedComponent(Component c)
This method sets the component at the selected index.

Parameters: c The component associated with the selected index.

setSelectedIndex

public void setSelectedIndex(int index)
This method sets the selected index. This method will hide the old component and show the new component.

Parameters: index The index to set it at.

setTabLayoutPolicy

public void setTabLayoutPolicy(int tabLayoutPolicy)
This method changes the tabLayoutPolicy property of the JTabbedPane.

Parameters: tabLayoutPolicy The tabLayoutPolicy to use.

Throws: IllegalArgumentException If tabLayoutPolicy is not one of SCROLL_TAB_LAYOUT or WRAP_TAB_LAYOUT.

setTabPlacement

public void setTabPlacement(int tabPlacement)
This method changes the tabPlacement property of the JTabbedPane.

Parameters: tabPlacement The tabPlacement to use.

Throws: IllegalArgumentException If tabPlacement is not one of TOP, BOTTOM, LEFT, or RIGHT.

setTitleAt

public void setTitleAt(int index, String title)
This method sets the title of the tab.

Parameters: index The index of the tab. title The new title.

setToolTipTextAt

public void setToolTipTextAt(int index, String toolTipText)
This method sets the tooltip text of the tab.

Parameters: index The index of the tab. toolTipText The tooltip text.

setUI

public void setUI(TabbedPaneUI ui)
This method sets the UI used to display the JTabbedPane.

Parameters: ui The UI used to display the JTabbedPane.

updateUI

public void updateUI()
This method restores the UI to the defaults given by the UIManager.