BasicTabbedPaneUI (Java 2 Platform SE 5.0) (original) (raw)


javax.swing.plaf.basic

Class BasicTabbedPaneUI

java.lang.Object extended by javax.swing.plaf.ComponentUI extended by javax.swing.plaf.TabbedPaneUI extended by javax.swing.plaf.basic.BasicTabbedPaneUI

All Implemented Interfaces:

SwingConstants

Direct Known Subclasses:

MetalTabbedPaneUI


public class BasicTabbedPaneUI

extends TabbedPaneUI

implements SwingConstants

A Basic L&F implementation of TabbedPaneUI.


Nested Class Summary
class BasicTabbedPaneUI.FocusHandler This class should be treated as a "protected" inner class.
class BasicTabbedPaneUI.MouseHandler This class should be treated as a "protected" inner class.
class BasicTabbedPaneUI.PropertyChangeHandler This class should be treated as a "protected" inner class.
class BasicTabbedPaneUI.TabbedPaneLayout This class should be treated as a "protected" inner class.
class BasicTabbedPaneUI.TabSelectionHandler This class should be treated as a "protected" inner class.
Field Summary
protected Rectangle calcRect A rectangle used for general layout calculations in order to avoid constructing many new Rectangles on the fly.
protected Insets contentBorderInsets
protected Color darkShadow
protected KeyStroke downKey Deprecated. As of Java 2 platform v1.3.
protected Color focus
protected FocusListener focusListener
protected Color highlight
protected KeyStroke leftKey Deprecated. As of Java 2 platform v1.3.
protected Color lightHighlight
protected int maxTabHeight
protected int maxTabWidth
protected MouseListener mouseListener
protected PropertyChangeListener propertyChangeListener
protected Rectangle[] rects
protected KeyStroke rightKey Deprecated. As of Java 2 platform v1.3.
protected int runCount
protected int selectedRun
protected Insets selectedTabPadInsets
protected Color shadow
protected Insets tabAreaInsets
protected ChangeListener tabChangeListener
protected Insets tabInsets
protected JTabbedPane tabPane
protected int tabRunOverlay
protected int[] tabRuns
protected int textIconGap
protected KeyStroke upKey Deprecated. As of Java 2 platform v1.3.
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
BasicTabbedPaneUI()
Method Summary
protected void assureRectsCreated(int tabCount)
protected int calculateMaxTabHeight(int tabPlacement)
protected int calculateMaxTabWidth(int tabPlacement)
protected int [calculateTabAreaHeight](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#calculateTabAreaHeight%28int, int, int%29)(int tabPlacement, int horizRunCount, int maxTabHeight)
protected int [calculateTabAreaWidth](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#calculateTabAreaWidth%28int, int, int%29)(int tabPlacement, int vertRunCount, int maxTabWidth)
protected int [calculateTabHeight](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#calculateTabHeight%28int, int, int%29)(int tabPlacement, int tabIndex, int fontHeight)
protected int [calculateTabWidth](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#calculateTabWidth%28int, int, java.awt.FontMetrics%29)(int tabPlacement, int tabIndex,FontMetrics metrics)
protected ChangeListener createChangeListener()
protected FocusListener createFocusListener()
protected LayoutManager createLayoutManager() Invoked by installUI to create a layout manager object to manage the JTabbedPane.
protected MouseListener createMouseListener()
protected PropertyChangeListener createPropertyChangeListener()
protected JButton createScrollButton(int direction) Creates and returns a JButton that will provide the user with a way to scroll the tabs in a particular direction.
static ComponentUI createUI(JComponent c)
protected void expandTabRunsArray()
protected Insets getContentBorderInsets(int tabPlacement)
protected int getFocusIndex() Returns the index of the tab that has focus.
protected FontMetrics getFontMetrics()
protected Icon getIconForTab(int tabIndex)
Dimension getMaximumSize(JComponent c) Returns the specified component's maximum size appropriate for the look and feel.
Dimension getMinimumSize(JComponent c) Returns the specified component's minimum size appropriate for the look and feel.
protected int getNextTabIndex(int base)
protected int [getNextTabIndexInRun](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#getNextTabIndexInRun%28int, int%29)(int tabCount, int base)
protected int getNextTabRun(int baseRun)
protected int getPreviousTabIndex(int base)
protected int [getPreviousTabIndexInRun](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#getPreviousTabIndexInRun%28int, int%29)(int tabCount, int base)
protected int getPreviousTabRun(int baseRun)
protected int getRolloverTab() Returns the tab the mouse is currently over, or -1 if the mouse is no longer over any tab.
protected int [getRunForTab](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#getRunForTab%28int, int%29)(int tabCount, int tabIndex)
protected Insets getSelectedTabPadInsets(int tabPlacement)
protected Insets getTabAreaInsets(int tabPlacement)
protected Rectangle [getTabBounds](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#getTabBounds%28int, java.awt.Rectangle%29)(int tabIndex,Rectangle dest) Returns the bounds of the specified tab in the coordinate space of the JTabbedPane component.
Rectangle [getTabBounds](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#getTabBounds%28javax.swing.JTabbedPane, int%29)(JTabbedPane pane, int i) Returns the bounds of the specified tab index.
protected Insets [getTabInsets](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#getTabInsets%28int, int%29)(int tabPlacement, int tabIndex)
protected int [getTabLabelShiftX](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#getTabLabelShiftX%28int, int, boolean%29)(int tabPlacement, int tabIndex, boolean isSelected)
protected int [getTabLabelShiftY](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#getTabLabelShiftY%28int, int, boolean%29)(int tabPlacement, int tabIndex, boolean isSelected)
int getTabRunCount(JTabbedPane pane)
protected int [getTabRunIndent](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#getTabRunIndent%28int, int%29)(int tabPlacement, int run)
protected int [getTabRunOffset](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#getTabRunOffset%28int, int, int, boolean%29)(int tabPlacement, int tabCount, int tabIndex, boolean forward)
protected int getTabRunOverlay(int tabPlacement)
protected View getTextViewForTab(int tabIndex) Returns the text View object required to render stylized text (HTML) for the specified tab or null if no specialized text rendering is needed for this tab.
protected Component getVisibleComponent()
protected void installComponents() Creates and installs any required subcomponents for the JTabbedPane.
protected void installDefaults()
protected void installKeyboardActions()
protected void installListeners()
void installUI(JComponent c) Configures the specified component appropriate for the look and feel.
protected int [lastTabInRun](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#lastTabInRun%28int, int%29)(int tabCount, int run)
protected void [layoutLabel](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#layoutLabel%28int, java.awt.FontMetrics, int, java.lang.String, javax.swing.Icon, java.awt.Rectangle, java.awt.Rectangle, java.awt.Rectangle, boolean%29)(int tabPlacement,FontMetrics metrics, int tabIndex,String title,Icon icon,Rectangle tabRect,Rectangle iconRect,Rectangle textRect, boolean isSelected)
protected void navigateSelectedTab(int direction)
void [paint](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#paint%28java.awt.Graphics, javax.swing.JComponent%29)(Graphics g,JComponent c) Paints the specified component appropriate for the look and feel.
protected void [paintContentBorder](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#paintContentBorder%28java.awt.Graphics, int, int%29)(Graphics g, int tabPlacement, int selectedIndex)
protected void [paintContentBorderBottomEdge](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#paintContentBorderBottomEdge%28java.awt.Graphics, int, int, int, int, int, int%29)(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
protected void [paintContentBorderLeftEdge](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#paintContentBorderLeftEdge%28java.awt.Graphics, int, int, int, int, int, int%29)(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
protected void [paintContentBorderRightEdge](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#paintContentBorderRightEdge%28java.awt.Graphics, int, int, int, int, int, int%29)(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
protected void [paintContentBorderTopEdge](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#paintContentBorderTopEdge%28java.awt.Graphics, int, int, int, int, int, int%29)(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
protected void [paintFocusIndicator](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#paintFocusIndicator%28java.awt.Graphics, int, java.awt.Rectangle[], int, java.awt.Rectangle, java.awt.Rectangle, boolean%29)(Graphics g, int tabPlacement,Rectangle[] rects, int tabIndex,Rectangle iconRect,Rectangle textRect, boolean isSelected)
protected void [paintIcon](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#paintIcon%28java.awt.Graphics, int, int, javax.swing.Icon, java.awt.Rectangle, boolean%29)(Graphics g, int tabPlacement, int tabIndex,Icon icon,Rectangle iconRect, boolean isSelected)
protected void [paintTab](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#paintTab%28java.awt.Graphics, int, java.awt.Rectangle[], int, java.awt.Rectangle, java.awt.Rectangle%29)(Graphics g, int tabPlacement,Rectangle[] rects, int tabIndex,Rectangle iconRect,Rectangle textRect)
protected void [paintTabArea](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#paintTabArea%28java.awt.Graphics, int, int%29)(Graphics g, int tabPlacement, int selectedIndex) Paints the tabs in the tab area.
protected void [paintTabBackground](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#paintTabBackground%28java.awt.Graphics, int, int, int, int, int, int, boolean%29)(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)
protected void [paintTabBorder](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#paintTabBorder%28java.awt.Graphics, int, int, int, int, int, int, boolean%29)(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected) this function draws the border around each tab note that this function does now draw the background of the tab.
protected void [paintText](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#paintText%28java.awt.Graphics, int, java.awt.Font, java.awt.FontMetrics, int, java.lang.String, java.awt.Rectangle, boolean%29)(Graphics g, int tabPlacement,Font font,FontMetrics metrics, int tabIndex,String title,Rectangle textRect, boolean isSelected)
protected static void [rotateInsets](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#rotateInsets%28java.awt.Insets, java.awt.Insets, int%29)(Insets topInsets,Insets targetInsets, int targetPlacement)
protected void [selectAdjacentRunTab](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#selectAdjacentRunTab%28int, int, int%29)(int tabPlacement, int tabIndex, int offset)
protected void selectNextTab(int current)
protected void selectNextTabInRun(int current)
protected void selectPreviousTab(int current)
protected void selectPreviousTabInRun(int current)
protected void setRolloverTab(int index) Sets the tab the mouse is currently over to index.
protected void setVisibleComponent(Component component)
protected boolean [shouldPadTabRun](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#shouldPadTabRun%28int, int%29)(int tabPlacement, int run)
protected boolean shouldRotateTabRuns(int tabPlacement)
int [tabForCoordinate](../../../../javax/swing/plaf/basic/BasicTabbedPaneUI.html#tabForCoordinate%28javax.swing.JTabbedPane, int, int%29)(JTabbedPane pane, int x, int y) Returns the tab index which intersects the specified point in the JTabbedPane's coordinate space.
protected void uninstallComponents() Removes any installed subcomponents from the JTabbedPane.
protected void uninstallDefaults()
protected void uninstallKeyboardActions()
protected void uninstallListeners()
void uninstallUI(JComponent c) Reverses configuration which was done on the specified component duringinstallUI.
Methods inherited from class javax.swing.plaf.ComponentUI
[contains](../../../../javax/swing/plaf/ComponentUI.html#contains%28javax.swing.JComponent, int, int%29), [getAccessibleChild](../../../../javax/swing/plaf/ComponentUI.html#getAccessibleChild%28javax.swing.JComponent, int%29), getAccessibleChildrenCount, getPreferredSize, [update](../../../../javax/swing/plaf/ComponentUI.html#update%28java.awt.Graphics, javax.swing.JComponent%29)
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, [wait](../../../../java/lang/Object.html#wait%28long, int%29)
Field Detail

tabPane

protected JTabbedPane tabPane


highlight

protected Color highlight


lightHighlight

protected Color lightHighlight


shadow

protected Color shadow


darkShadow

protected Color darkShadow


focus

protected Color focus


textIconGap

protected int textIconGap


tabRunOverlay

protected int tabRunOverlay


tabInsets

protected Insets tabInsets


selectedTabPadInsets

protected Insets selectedTabPadInsets


tabAreaInsets

protected Insets tabAreaInsets


contentBorderInsets

protected Insets contentBorderInsets


upKey

@Deprecated protected KeyStroke upKey

Deprecated. As of Java 2 platform v1.3.

As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.


downKey

@Deprecated protected KeyStroke downKey

Deprecated. As of Java 2 platform v1.3.

As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.


leftKey

@Deprecated protected KeyStroke leftKey

Deprecated. As of Java 2 platform v1.3.

As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.


rightKey

@Deprecated protected KeyStroke rightKey

Deprecated. As of Java 2 platform v1.3.

As of Java 2 platform v1.3 this previously undocumented field is no longer used. Key bindings are now defined by the LookAndFeel, please refer to the key bindings specification for further details.


tabRuns

protected int[] tabRuns


runCount

protected int runCount


selectedRun

protected int selectedRun


rects

protected Rectangle[] rects


maxTabHeight

protected int maxTabHeight


maxTabWidth

protected int maxTabWidth


tabChangeListener

protected ChangeListener tabChangeListener


propertyChangeListener

protected PropertyChangeListener propertyChangeListener


mouseListener

protected MouseListener mouseListener


focusListener

protected FocusListener focusListener


calcRect

protected transient Rectangle calcRect

A rectangle used for general layout calculations in order to avoid constructing many new Rectangles on the fly.

Constructor Detail

BasicTabbedPaneUI

public BasicTabbedPaneUI()

Method Detail

createUI

public static ComponentUI createUI(JComponent c)


installUI

public void installUI(JComponent c)

Description copied from class: [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html#installUI%28javax.swing.JComponent%29)

Configures the specified component appropriate for the look and feel. This method is invoked when the ComponentUI instance is being installed as the UI delegate on the specified component. This method should completely configure the component for the look and feel, including the following:

  1. Install any default property values for color, fonts, borders, icons, opacity, etc. on the component. Whenever possible, property values initialized by the client program should not be overridden.
  2. Install a LayoutManager on the component if necessary.
  3. Create/add any required sub-components to the component.
  4. Create/install event listeners on the component.
  5. Create/install a PropertyChangeListener on the component in order to detect and respond to component property changes appropriately.
  6. Install keyboard UI (mnemonics, traversal, etc.) on the component.
  7. Initialize any appropriate instance data.

Overrides:

[installUI](../../../../javax/swing/plaf/ComponentUI.html#installUI%28javax.swing.JComponent%29) in class [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html "class in javax.swing.plaf")

Parameters:

c - the component where this UI delegate is being installed

See Also:

ComponentUI.uninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()


uninstallUI

public void uninstallUI(JComponent c)

Description copied from class: [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html#uninstallUI%28javax.swing.JComponent%29)

Reverses configuration which was done on the specified component duringinstallUI. This method is invoked when this UIComponent instance is being removed as the UI delegate for the specified component. This method should undo the configuration performed in installUI, being careful to leave the JComponent instance in a clean state (no extraneous listeners, look-and-feel-specific property objects, etc.). This should include the following:

  1. Remove any UI-set borders from the component.
  2. Remove any UI-set layout managers on the component.
  3. Remove any UI-added sub-components from the component.
  4. Remove any UI-added event/property listeners from the component.
  5. Remove any UI-installed keyboard UI from the component.
  6. Nullify any allocated instance data objects to allow for GC.

Overrides:

[uninstallUI](../../../../javax/swing/plaf/ComponentUI.html#uninstallUI%28javax.swing.JComponent%29) in class [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html "class in javax.swing.plaf")

Parameters:

c - the component from which this UI delegate is being removed; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components

See Also:

ComponentUI.installUI(javax.swing.JComponent), JComponent.updateUI()


createLayoutManager

protected LayoutManager createLayoutManager()

Invoked by installUI to create a layout manager object to manage the JTabbedPane.

Returns:

a layout manager object

See Also:

BasicTabbedPaneUI.TabbedPaneLayout, JTabbedPane.getTabLayoutPolicy()


installComponents

protected void installComponents()

Creates and installs any required subcomponents for the JTabbedPane. Invoked by installUI.

Since:

1.4


createScrollButton

protected JButton createScrollButton(int direction)

Creates and returns a JButton that will provide the user with a way to scroll the tabs in a particular direction. The returned JButton must be instance of UIResource.

Parameters:

direction - One of the SwingConstants constants: SOUTH, NORTH, EAST or WEST

Returns:

Widget for user to

Throws:

[IllegalArgumentException](../../../../java/lang/IllegalArgumentException.html "class in java.lang") - if direction is not one of NORTH, SOUTH, EAST or WEST

Since:

1.5

See Also:

JTabbedPane.setTabPlacement(int), SwingConstants


uninstallComponents

protected void uninstallComponents()

Removes any installed subcomponents from the JTabbedPane. Invoked by uninstallUI.

Since:

1.4


installDefaults

protected void installDefaults()


uninstallDefaults

protected void uninstallDefaults()


installListeners

protected void installListeners()


uninstallListeners

protected void uninstallListeners()


createMouseListener

protected MouseListener createMouseListener()


createFocusListener

protected FocusListener createFocusListener()


createChangeListener

protected ChangeListener createChangeListener()


createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()


installKeyboardActions

protected void installKeyboardActions()


uninstallKeyboardActions

protected void uninstallKeyboardActions()


setRolloverTab

protected void setRolloverTab(int index)

Sets the tab the mouse is currently over to index.index will be -1 if the mouse is no longer over any tab. No checking is done to ensure the passed in index identifies a valid tab.

Parameters:

index - Index of the tab the mouse is over.

Since:

1.5


getRolloverTab

protected int getRolloverTab()

Returns the tab the mouse is currently over, or -1 if the mouse is no longer over any tab.

Parameters:

index - Index of the tab the mouse is over.

Since:

1.5


getMinimumSize

public Dimension getMinimumSize(JComponent c)

Description copied from class: [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html#getMinimumSize%28javax.swing.JComponent%29)

Returns the specified component's minimum size appropriate for the look and feel. If null is returned, the minimum size will be calculated by the component's layout manager instead (this is the preferred approach for any component with a specific layout manager installed). The default implementation of this method invokes getPreferredSize and returns that value.

Overrides:

[getMinimumSize](../../../../javax/swing/plaf/ComponentUI.html#getMinimumSize%28javax.swing.JComponent%29) in class [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html "class in javax.swing.plaf")

Parameters:

c - the component whose minimum size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components

Returns:

a Dimension object or null

See Also:

JComponent.getMinimumSize(), LayoutManager.minimumLayoutSize(java.awt.Container), ComponentUI.getPreferredSize(javax.swing.JComponent)


getMaximumSize

public Dimension getMaximumSize(JComponent c)

Description copied from class: [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html#getMaximumSize%28javax.swing.JComponent%29)

Returns the specified component's maximum size appropriate for the look and feel. If null is returned, the maximum size will be calculated by the component's layout manager instead (this is the preferred approach for any component with a specific layout manager installed). The default implementation of this method invokes getPreferredSize and returns that value.

Overrides:

[getMaximumSize](../../../../javax/swing/plaf/ComponentUI.html#getMaximumSize%28javax.swing.JComponent%29) in class [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html "class in javax.swing.plaf")

Parameters:

c - the component whose maximum size is being queried; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components

Returns:

a Dimension object or null

See Also:

JComponent.getMaximumSize(), LayoutManager2.maximumLayoutSize(java.awt.Container)


paint

public void paint(Graphics g, JComponent c)

Description copied from class: [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html#paint%28java.awt.Graphics, javax.swing.JComponent%29)

Paints the specified component appropriate for the look and feel. This method is invoked from the ComponentUI.update method when the specified component is being painted. Subclasses should override this method and use the specified Graphics object to render the content of the component.

Overrides:

[paint](../../../../javax/swing/plaf/ComponentUI.html#paint%28java.awt.Graphics, javax.swing.JComponent%29) in class [ComponentUI](../../../../javax/swing/plaf/ComponentUI.html "class in javax.swing.plaf")

Parameters:

g - the Graphics context in which to paint

c - the component being painted; this argument is often ignored, but might be used if the UI object is stateless and shared by multiple components

See Also:

[ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)](../../../../javax/swing/plaf/ComponentUI.html#update%28java.awt.Graphics, javax.swing.JComponent%29)


paintTabArea

protected void paintTabArea(Graphics g, int tabPlacement, int selectedIndex)

Paints the tabs in the tab area. Invoked by paint(). The graphics parameter must be a valid Graphics object. Tab placement may be either: JTabbedPane.TOP, JTabbedPane.BOTTOM,JTabbedPane.LEFT, or JTabbedPane.RIGHT. The selected index must be a valid tabbed pane tab index (0 to tab count - 1, inclusive) or -1 if no tab is currently selected. The handling of invalid parameters is unspecified.

Parameters:

g - the graphics object to use for rendering

tabPlacement - the placement for the tabs within the JTabbedPane

selectedIndex - the tab index of the selected component

Since:

1.4


paintTab

protected void paintTab(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect)


layoutLabel

protected void layoutLabel(int tabPlacement, FontMetrics metrics, int tabIndex, String title, Icon icon, Rectangle tabRect, Rectangle iconRect, Rectangle textRect, boolean isSelected)


paintIcon

protected void paintIcon(Graphics g, int tabPlacement, int tabIndex, Icon icon, Rectangle iconRect, boolean isSelected)


paintText

protected void paintText(Graphics g, int tabPlacement, Font font, FontMetrics metrics, int tabIndex, String title, Rectangle textRect, boolean isSelected)


getTabLabelShiftX

protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)


getTabLabelShiftY

protected int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)


paintFocusIndicator

protected void paintFocusIndicator(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect, boolean isSelected)


paintTabBorder

protected void paintTabBorder(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)

this function draws the border around each tab note that this function does now draw the background of the tab. that is done elsewhere


paintTabBackground

protected void paintTabBackground(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)


paintContentBorder

protected void paintContentBorder(Graphics g, int tabPlacement, int selectedIndex)


paintContentBorderTopEdge

protected void paintContentBorderTopEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)


paintContentBorderLeftEdge

protected void paintContentBorderLeftEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)


paintContentBorderBottomEdge

protected void paintContentBorderBottomEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)


paintContentBorderRightEdge

protected void paintContentBorderRightEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)


getTabBounds

public Rectangle getTabBounds(JTabbedPane pane, int i)

Returns the bounds of the specified tab index. The bounds are with respect to the JTabbedPane's coordinate space.

Specified by:

[getTabBounds](../../../../javax/swing/plaf/TabbedPaneUI.html#getTabBounds%28javax.swing.JTabbedPane, int%29) in class [TabbedPaneUI](../../../../javax/swing/plaf/TabbedPaneUI.html "class in javax.swing.plaf")


getTabRunCount

public int getTabRunCount(JTabbedPane pane)

Specified by:

[getTabRunCount](../../../../javax/swing/plaf/TabbedPaneUI.html#getTabRunCount%28javax.swing.JTabbedPane%29) in class [TabbedPaneUI](../../../../javax/swing/plaf/TabbedPaneUI.html "class in javax.swing.plaf")


tabForCoordinate

public int tabForCoordinate(JTabbedPane pane, int x, int y)

Returns the tab index which intersects the specified point in the JTabbedPane's coordinate space.

Specified by:

[tabForCoordinate](../../../../javax/swing/plaf/TabbedPaneUI.html#tabForCoordinate%28javax.swing.JTabbedPane, int, int%29) in class [TabbedPaneUI](../../../../javax/swing/plaf/TabbedPaneUI.html "class in javax.swing.plaf")


getTabBounds

protected Rectangle getTabBounds(int tabIndex, Rectangle dest)

Returns the bounds of the specified tab in the coordinate space of the JTabbedPane component. This is required because the tab rects are by default defined in the coordinate space of the component where they are rendered, which could be the JTabbedPane (for WRAP_TAB_LAYOUT) or a ScrollableTabPanel (SCROLL_TAB_LAYOUT). This method should be used whenever the tab rectangle must be relative to the JTabbedPane itself and the result should be placed in a designated Rectangle object (rather than instantiating and returning a new Rectangle each time). The tab index parameter must be a valid tabbed pane tab index (0 to tab count - 1, inclusive). The destination rectangle parameter must be a valid Rectangle instance. The handling of invalid parameters is unspecified.

Parameters:

tabIndex - the index of the tab

dest - the rectangle where the result should be placed

Returns:

the resulting rectangle

Since:

1.4


getVisibleComponent

protected Component getVisibleComponent()


setVisibleComponent

protected void setVisibleComponent(Component component)


assureRectsCreated

protected void assureRectsCreated(int tabCount)


expandTabRunsArray

protected void expandTabRunsArray()


getRunForTab

protected int getRunForTab(int tabCount, int tabIndex)


lastTabInRun

protected int lastTabInRun(int tabCount, int run)


getTabRunOverlay

protected int getTabRunOverlay(int tabPlacement)


getTabRunIndent

protected int getTabRunIndent(int tabPlacement, int run)


shouldPadTabRun

protected boolean shouldPadTabRun(int tabPlacement, int run)


shouldRotateTabRuns

protected boolean shouldRotateTabRuns(int tabPlacement)


getIconForTab

protected Icon getIconForTab(int tabIndex)


getTextViewForTab

protected View getTextViewForTab(int tabIndex)

Returns the text View object required to render stylized text (HTML) for the specified tab or null if no specialized text rendering is needed for this tab. This is provided to support html rendering inside tabs.

Parameters:

tabIndex - the index of the tab

Returns:

the text view to render the tab's text or null if no specialized rendering is required

Since:

1.4


calculateTabHeight

protected int calculateTabHeight(int tabPlacement, int tabIndex, int fontHeight)


calculateMaxTabHeight

protected int calculateMaxTabHeight(int tabPlacement)


calculateTabWidth

protected int calculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics)


calculateMaxTabWidth

protected int calculateMaxTabWidth(int tabPlacement)


calculateTabAreaHeight

protected int calculateTabAreaHeight(int tabPlacement, int horizRunCount, int maxTabHeight)


calculateTabAreaWidth

protected int calculateTabAreaWidth(int tabPlacement, int vertRunCount, int maxTabWidth)


getTabInsets

protected Insets getTabInsets(int tabPlacement, int tabIndex)


getSelectedTabPadInsets

protected Insets getSelectedTabPadInsets(int tabPlacement)


getTabAreaInsets

protected Insets getTabAreaInsets(int tabPlacement)


getContentBorderInsets

protected Insets getContentBorderInsets(int tabPlacement)


getFontMetrics

protected FontMetrics getFontMetrics()


protected void navigateSelectedTab(int direction)


selectNextTabInRun

protected void selectNextTabInRun(int current)


selectPreviousTabInRun

protected void selectPreviousTabInRun(int current)


selectNextTab

protected void selectNextTab(int current)


selectPreviousTab

protected void selectPreviousTab(int current)


selectAdjacentRunTab

protected void selectAdjacentRunTab(int tabPlacement, int tabIndex, int offset)


getFocusIndex

protected int getFocusIndex()

Returns the index of the tab that has focus.

Returns:

index of tab that has focus

Since:

1.5


getTabRunOffset

protected int getTabRunOffset(int tabPlacement, int tabCount, int tabIndex, boolean forward)


getPreviousTabIndex

protected int getPreviousTabIndex(int base)


getNextTabIndex

protected int getNextTabIndex(int base)


getNextTabIndexInRun

protected int getNextTabIndexInRun(int tabCount, int base)


getPreviousTabIndexInRun

protected int getPreviousTabIndexInRun(int tabCount, int base)


getPreviousTabRun

protected int getPreviousTabRun(int baseRun)


getNextTabRun

protected int getNextTabRun(int baseRun)


rotateInsets

protected static void rotateInsets(Insets topInsets, Insets targetInsets, int targetPlacement)



Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright © 2004, 2010 Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.