net.infonode.tabbedpanel.titledtab

Class TitledTab

public class TitledTab extends Tab implements IconProvider

A TitledTab is a tab that has support for text, icon and a custom Swing component (called title component). Titled tab supports several properties that makes it possible to change the look (borders, colors, insets), layout (up, down, left, right).

Titled tab has a line based layout, i.e. the text, icon and title component are laid out in a line. The layout of the tab can be rotated, i.e. the text and the icon will be rotated 90, 180 or 270 degrees. The title component will not be rotated but moved so that the line layout will persist.

A titled tab has 3 rendering states:

Most of the properties for the tab can be configured for each of the tab rendering states.

Note: If only the normal state properties have been configured, the highlighted and disabled state will automatically use the same properties as for the normal state, see TitledTabProperties and TitledTabStateProperties.

TitledTab implements the IconProvider interface and overloads toString() so that both text and icon for the normal state is shown in the tab drop down list in a tabbed panel.

TitledTab supports mouse hovering. A HoverListener can be set in the TitledTabProperties. The hover listener receives a HoverEvent when the mouse enters or exits the tab. The hover event's source will be the affected titled tab.

Version: $Revision: 1.89 $

Author: $Author: jesper $

See Also: TitledTabProperties TitledTabStateProperties

Constructor Summary
TitledTab(String text, Icon icon, JComponent contentComponent, JComponent titleComponent)
Constructs a TitledTab with a text, icon, content component and title component.
Method Summary
voidaddMouseListener(MouseListener l)
Adds a MouseListener to receive mouse events from this TitledTab.
voidaddMouseMotionListener(MouseMotionListener l)
Adds a MouseMotionListener to receive mouse events from this TitledTab.
booleancontains(int x, int y)
JComponentgetDisabledStateTitleComponent()
Gets the title component for the disabled state
JComponentgetHighlightedStateTitleComponent()
Gets the title component for the highlighted state
IcongetIcon()
Gets the icon for the normal state
MouseListener[]getMouseListeners()
Gets the mouse listeners
MouseMotionListener[]getMouseMotionListeners()
Gets the mouse motion listeners
JComponentgetNormalStateTitleComponent()
Gets the title component for the normal state
TitledTabPropertiesgetProperties()
Gets the TitledTabProperties
ShapegetShape()
Gets the Shape for the current active rendering state.
StringgetText()
Gets the text for the normal state
booleaninside(int x, int y)
voidremoveMouseListener(MouseListener l)
Removes a MouseListener
voidremoveMouseMotionListener(MouseMotionListener l)
Removes a MouseMotionListener
voidsetDisabledStateTitleComponent(JComponent titleComponent)
Sets the disabled state title component
voidsetEnabled(boolean enabled)

Sets if this TitledTab should be enabled or disabled

Note: since ITP 1.5.0 this method will change the enabled property in the TitledTabProperties for this tab.

voidsetHighlighted(boolean highlighted)

Sets if this TitledTab should be highlighted or not.

Note: This will only have effect if this TitledTab is enabled and a member of a tabbed panel.

voidsetHighlightedStateTitleComponent(JComponent titleComponent)
Sets the highlighted state title component
voidsetIcon(Icon icon)
Sets the icon for the normal state
voidsetNormalStateTitleComponent(JComponent titleComponent)
Sets the normal state title component
voidsetOpaque(boolean opaque)
protected voidsetTabbedPanel(TabbedPanel tabbedPanel)
voidsetText(String text)
Sets the text for the normal state
voidsetTitleComponent(JComponent titleComponent)

Sets the title component.

This method is a convenience method for setting the same title component for all states.

voidsetUI(PanelUI ui)
StringtoString()
Gets the text for the normal state.
voidupdateUI()

Constructor Detail

TitledTab

public TitledTab(String text, Icon icon, JComponent contentComponent, JComponent titleComponent)
Constructs a TitledTab with a text, icon, content component and title component.

Parameters: text text or null for no text. The text will be applied to the normal state properties icon icon or null for no icon. The icon will be applied to the normal state properties contentComponent content component or null for no content component titleComponent title component or null for no title component. The title component will be applied to all the states

See Also: TabFactory

Method Detail

addMouseListener

public void addMouseListener(MouseListener l)
Adds a MouseListener to receive mouse events from this TitledTab.

Parameters: l the MouseListener

addMouseMotionListener

public void addMouseMotionListener(MouseMotionListener l)
Adds a MouseMotionListener to receive mouse events from this TitledTab.

Parameters: l the MouseMotionListener

contains

public boolean contains(int x, int y)

getDisabledStateTitleComponent

public JComponent getDisabledStateTitleComponent()
Gets the title component for the disabled state

Returns: title component or null if no title component

getHighlightedStateTitleComponent

public JComponent getHighlightedStateTitleComponent()
Gets the title component for the highlighted state

Returns: title component or null if no title component

getIcon

public Icon getIcon()
Gets the icon for the normal state

Returns: the icon or null if none

getMouseListeners

public MouseListener[] getMouseListeners()
Gets the mouse listeners

Returns: the mouse listeners

getMouseMotionListeners

public MouseMotionListener[] getMouseMotionListeners()
Gets the mouse motion listeners

Returns: the mouse motion listeners

getNormalStateTitleComponent

public JComponent getNormalStateTitleComponent()
Gets the title component for the normal state

Returns: title component or null if no title component

getProperties

public TitledTabProperties getProperties()
Gets the TitledTabProperties

Returns: the TitledTabProperties for this TitledTab

getShape

public Shape getShape()
Gets the Shape for the current active rendering state.

Returns: the Shape for the active rendering state, null if no special shape

Since: ITP 1.2.0

getText

public String getText()
Gets the text for the normal state

Returns: the text or null if no text

inside

public boolean inside(int x, int y)

removeMouseListener

public void removeMouseListener(MouseListener l)
Removes a MouseListener

Parameters: l the MouseListener to remove

removeMouseMotionListener

public void removeMouseMotionListener(MouseMotionListener l)
Removes a MouseMotionListener

Parameters: l the MouseMotionListener to remove

setDisabledStateTitleComponent

public void setDisabledStateTitleComponent(JComponent titleComponent)
Sets the disabled state title component

Parameters: titleComponent the title component or null for no title component

setEnabled

public void setEnabled(boolean enabled)

Sets if this TitledTab should be enabled or disabled

Note: since ITP 1.5.0 this method will change the enabled property in the TitledTabProperties for this tab. Enabled/disabled can be controlled by modifying the property or this method.

Parameters: enabled true for enabled, otherwise false

setHighlighted

public void setHighlighted(boolean highlighted)

Sets if this TitledTab should be highlighted or not.

Note: This will only have effect if this TitledTab is enabled and a member of a tabbed panel.

Parameters: highlighted true for highlight, otherwise false

setHighlightedStateTitleComponent

public void setHighlightedStateTitleComponent(JComponent titleComponent)
Sets the highlighted state title component

Parameters: titleComponent the title component or null for no title component

setIcon

public void setIcon(Icon icon)
Sets the icon for the normal state

Parameters: icon the icon or null for no icon

setNormalStateTitleComponent

public void setNormalStateTitleComponent(JComponent titleComponent)
Sets the normal state title component

Parameters: titleComponent the title component or null for no title component

setOpaque

public void setOpaque(boolean opaque)

setTabbedPanel

protected void setTabbedPanel(TabbedPanel tabbedPanel)

setText

public void setText(String text)
Sets the text for the normal state

Parameters: text the text or null for no text

setTitleComponent

public void setTitleComponent(JComponent titleComponent)

Sets the title component.

This method is a convenience method for setting the same title component for all states.

Parameters: titleComponent the title component or null for no title component

setUI

public void setUI(PanelUI ui)

toString

public String toString()
Gets the text for the normal state. Same as getText().

Returns: the text or null if no text

Since: ITP 1.1.0

See Also: TitledTab

updateUI

public void updateUI()