Java™ Platform
Standard Ed. 6

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(int tabPlacement, int horizRunCount, int maxTabHeight)
           
protected  int calculateTabAreaWidth(int tabPlacement, int vertRunCount, int maxTabWidth)
           
protected  int calculateTabHeight(int tabPlacement, int tabIndex, int fontHeight)
           
protected  int calculateTabWidth(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  int getBaseline(int tab)
          Returns the baseline for the specified tab.
 int getBaseline(JComponent c, int width, int height)
          Returns the baseline.
protected  int getBaselineOffset()
          Returns the amount the baseline is offset by.
 Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
          Returns an enum indicating how the baseline of the component changes as the size changes.
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(int tabCount, int base)
           
protected  int getNextTabRun(int baseRun)
           
protected  int getPreviousTabIndex(int base)
           
protected  int getPreviousTabIndexInRun(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(int tabCount, int tabIndex)
           
protected  Insets getSelectedTabPadInsets(int tabPlacement)
           
protected  Insets getTabAreaInsets(int tabPlacement)
           
protected  Rectangle getTabBounds(int tabIndex, Rectangle dest)
          Returns the bounds of the specified tab in the coordinate space of the JTabbedPane component.
 Rectangle getTabBounds(JTabbedPane pane, int i)
          Returns the bounds of the specified tab index.
protected  Insets getTabInsets(int tabPlacement, int tabIndex)
           
protected  int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
           
protected  int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
           
 int getTabRunCount(JTabbedPane pane)
           
protected  int getTabRunIndent(int tabPlacement, int run)
           
protected  int getTabRunOffset(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(int tabCount, int run)
           
protected  void layoutLabel(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(Graphics g, JComponent c)
          Paints the specified component appropriate for the look and feel.
protected  void paintContentBorder(Graphics g, int tabPlacement, int selectedIndex)
           
protected  void paintContentBorderBottomEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
           
protected  void paintContentBorderLeftEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
           
protected  void paintContentBorderRightEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
           
protected  void paintContentBorderTopEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
           
protected  void paintFocusIndicator(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect, boolean isSelected)
           
protected  void paintIcon(Graphics g, int tabPlacement, int tabIndex, Icon icon, Rectangle iconRect, boolean isSelected)
           
protected  void paintTab(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect)
           
protected  void paintTabArea(Graphics g, int tabPlacement, int selectedIndex)
          Paints the tabs in the tab area.
protected  void paintTabBackground(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)
           
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.
protected  void paintText(Graphics g, int tabPlacement, Font font, FontMetrics metrics, int tabIndex, String title, Rectangle textRect, boolean isSelected)
           
protected static void rotateInsets(Insets topInsets, Insets targetInsets, int targetPlacement)
           
protected  void selectAdjacentRunTab(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(int tabPlacement, int run)
           
protected  boolean shouldRotateTabRuns(int tabPlacement)
           
 int tabForCoordinate(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 during installUI.
 
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getPreferredSize, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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
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 in class ComponentUI
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
Reverses configuration which was done on the specified component during installUI. 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 in class ComponentUI
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 - 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.

Returns:
the tab the mouse is currently over, or -1 if the mouse is no longer over any tab
Since:
1.5

getMinimumSize

public Dimension getMinimumSize(JComponent c)
Description copied from class: ComponentUI
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 in class ComponentUI
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
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 in class ComponentUI
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)

getBaseline

public int getBaseline(JComponent c,
                       int width,
                       int height)
Returns the baseline.

Overrides:
getBaseline in class ComponentUI
Parameters:
c - JComponent baseline is being requested for
width - the width to get the baseline for
height - the height to get the baseline for
Returns:
baseline or a value < 0 indicating there is no reasonable baseline
Throws:
NullPointerException - if c is null
IllegalArgumentException - if width or height is < 0
Since:
1.6
See Also:
JComponent.getBaseline(int, int)

getBaselineResizeBehavior

public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
Returns an enum indicating how the baseline of the component changes as the size changes.

Overrides:
getBaselineResizeBehavior in class ComponentUI
Parameters:
c - JComponent to return baseline resize behavior for
Returns:
an enum indicating how the baseline changes as the component size changes
Throws:
NullPointerException - if c is null
Since:
1.6
See Also:
JComponent.getBaseline(int, int)

getBaseline

protected int getBaseline(int tab)
Returns the baseline for the specified tab.

Parameters:
tab - index of tab to get baseline for
Returns:
baseline or a value < 0 indicating there is no reasonable baseline
Throws:
IndexOutOfBoundsException - if index is out of range (index < 0 || index >= tab count)
Since:
1.6

getBaselineOffset

protected int getBaselineOffset()
Returns the amount the baseline is offset by. This is typically the same as getTabLabelShiftY.

Returns:
amount to offset the baseline by
Since:
1.6

paint

public void paint(Graphics g,
                  JComponent c)
Description copied from class: ComponentUI
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 in class ComponentUI
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)

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 in class TabbedPaneUI

getTabRunCount

public int getTabRunCount(JTabbedPane pane)
Specified by:
getTabRunCount in class TabbedPaneUI

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 in class TabbedPaneUI

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()

navigateSelectedTab

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)

Java™ Platform
Standard Ed. 6

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

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.