TopBlend: Here is the first difference. There are 2 differences. is old. is new.


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: Parameters:
the tab the mouse is currently over, or -1 if the mouse is no longer over any tab index - Index of the tab the mouse is over.
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)