- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.TabbedPaneUI
-
- javax.swing.plaf.basic.BasicTabbedPaneUI
-
- All Implemented Interfaces:
SwingConstants
- Direct Known Subclasses:
MetalTabbedPaneUI
,SynthTabbedPaneUI
public class BasicTabbedPaneUI extends TabbedPaneUI implements SwingConstants
A Basic L&F implementation of TabbedPaneUI.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description 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
Fields Modifier and Type Field Description protected Rectangle
calcRect
A rectangle used for general layout calculations in order to avoid constructing many new Rectangles on the fly.protected Insets
contentBorderInsets
Content border insetsprotected Color
darkShadow
Dark shadow colorprotected KeyStroke
downKey
Deprecated.As of Java 2 platform v1.3.protected Color
focus
Focus colorprotected FocusListener
focusListener
Focus change listenerprotected Color
highlight
Highlight colorprotected KeyStroke
leftKey
Deprecated.As of Java 2 platform v1.3.protected Color
lightHighlight
Light highlight colorprotected int
maxTabHeight
Maximum tab heightprotected int
maxTabWidth
Maximum tab widthprotected MouseListener
mouseListener
Mouse change listenerprotected PropertyChangeListener
propertyChangeListener
Property change listenerprotected Rectangle[]
rects
Tab rectsprotected KeyStroke
rightKey
Deprecated.As of Java 2 platform v1.3.protected int
runCount
Run countprotected int
selectedRun
Selected runprotected Insets
selectedTabPadInsets
Selected tab insetsprotected Color
shadow
Shadow colorprotected Insets
tabAreaInsets
Tab area insetsprotected ChangeListener
tabChangeListener
Tab change listenerprotected Insets
tabInsets
Tab insetsprotected JTabbedPane
tabPane
The tab paneprotected int
tabRunOverlay
Tab run overlayprotected int[]
tabRuns
Tab runsprotected int
textIconGap
Text icon gapprotected 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
Constructors Constructor Description BasicTabbedPaneUI()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
assureRectsCreated(int tabCount)
Assure the rectangles are created.protected int
calculateMaxTabHeight(int tabPlacement)
Calculates the maximum tab height.protected int
calculateMaxTabWidth(int tabPlacement)
Calculates the maximum tab width.protected int
calculateTabAreaHeight(int tabPlacement, int horizRunCount, int maxTabHeight)
Calculates the tab area height.protected int
calculateTabAreaWidth(int tabPlacement, int vertRunCount, int maxTabWidth)
Calculates the tab area width.protected int
calculateTabHeight(int tabPlacement, int tabIndex, int fontHeight)
Calculates the tab height.protected int
calculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics)
Calculates the tab width.protected ChangeListener
createChangeListener()
Creates a change listener.protected FocusListener
createFocusListener()
Creates a focus listener.protected LayoutManager
createLayoutManager()
Invoked byinstallUI
to create a layout manager object to manage theJTabbedPane
.protected MouseListener
createMouseListener()
Creates a mouse listener.protected PropertyChangeListener
createPropertyChangeListener()
Creates a property change listener.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)
Create a UI.protected void
expandTabRunsArray()
Expands the tab runs array.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)
Returns the content border insets.protected int
getFocusIndex()
Returns the index of the tab that has focus.protected FontMetrics
getFontMetrics()
Returns the font metrics.protected Icon
getIconForTab(int tabIndex)
Returns the icon for a tab.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)
Returns the next tab index.protected int
getNextTabIndexInRun(int tabCount, int base)
Returns the next tab index in the run.protected int
getNextTabRun(int baseRun)
Returns the next tab run.protected int
getPreviousTabIndex(int base)
Returns the previous tab index.protected int
getPreviousTabIndexInRun(int tabCount, int base)
Returns the previous tab index in the run.protected int
getPreviousTabRun(int baseRun)
Returns the previous tab run.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)
Returns the run for a tab.protected Insets
getSelectedTabPadInsets(int tabPlacement)
Returns the selected tab pad insets.protected Insets
getTabAreaInsets(int tabPlacement)
Returns the tab area insets.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)
Returns the tab insets.protected int
getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
Returns the tab label shift x.protected int
getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
Returns the tab label shift y.int
getTabRunCount(JTabbedPane pane)
Returns the tab run count.protected int
getTabRunIndent(int tabPlacement, int run)
Returns the tab run indent.protected int
getTabRunOffset(int tabPlacement, int tabCount, int tabIndex, boolean forward)
Returns the tab run offset.protected int
getTabRunOverlay(int tabPlacement)
Returns the tab run overlay.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()
Returns the visible component.protected void
installComponents()
Creates and installs any required subcomponents for the JTabbedPane.protected void
installDefaults()
Install the defaults.protected void
installKeyboardActions()
Installs the keyboard actions.protected void
installListeners()
Install the listeners.void
installUI(JComponent c)
Configures the specified component appropriately for the look and feel.protected int
lastTabInRun(int tabCount, int run)
Returns the last tab in a run.protected void
layoutLabel(int tabPlacement, FontMetrics metrics, int tabIndex, String title, Icon icon, Rectangle tabRect, Rectangle iconRect, Rectangle textRect, boolean isSelected)
Laysout a label.protected void
navigateSelectedTab(int direction)
Navigate the selected tab.void
paint(Graphics g, JComponent c)
Paints the specified component appropriately for the look and feel.protected void
paintContentBorder(Graphics g, int tabPlacement, int selectedIndex)
Paints the content border.protected void
paintContentBorderBottomEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
Paints the content border bottom edge.protected void
paintContentBorderLeftEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
Paints the content border left edge.protected void
paintContentBorderRightEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
Paints the content border right edge.protected void
paintContentBorderTopEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
Paints the content border top edge.protected void
paintFocusIndicator(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect, boolean isSelected)
Paints the focus indicator.protected void
paintIcon(Graphics g, int tabPlacement, int tabIndex, Icon icon, Rectangle iconRect, boolean isSelected)
Paints an icon.protected void
paintTab(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect)
Paints a tab.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)
Paints the tab background.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)
Paints text.protected static void
rotateInsets(Insets topInsets, Insets targetInsets, int targetPlacement)
Rotates the insets.protected void
selectAdjacentRunTab(int tabPlacement, int tabIndex, int offset)
Selects an adjacent run of tabs.protected void
selectNextTab(int current)
Select the next tab.protected void
selectNextTabInRun(int current)
Select the next tab in the run.protected void
selectPreviousTab(int current)
Select the previous tab.protected void
selectPreviousTabInRun(int current)
Select the previous tab in the run.protected void
setRolloverTab(int index)
Sets the tab the mouse is currently over toindex
.protected void
setVisibleComponent(Component component)
Sets the visible component.protected boolean
shouldPadTabRun(int tabPlacement, int run)
Returns whether or not the tab run should be padded.protected boolean
shouldRotateTabRuns(int tabPlacement)
Returns whether or not the tab run should be rotated.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()
Uninstall the defaults.protected void
uninstallKeyboardActions()
Uninstalls the keyboard actions.protected void
uninstallListeners()
Uninstall the listeners.void
uninstallUI(JComponent c)
Reverses configuration which was done on the specified component duringinstallUI
.-
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getPreferredSize, update
-
-
-
-
Field Detail
-
tabPane
protected JTabbedPane tabPane
The tab pane
-
highlight
protected Color highlight
Highlight color
-
lightHighlight
protected Color lightHighlight
Light highlight color
-
shadow
protected Color shadow
Shadow color
-
darkShadow
protected Color darkShadow
Dark shadow color
-
focus
protected Color focus
Focus color
-
textIconGap
protected int textIconGap
Text icon gap
-
tabRunOverlay
protected int tabRunOverlay
Tab run overlay
-
tabInsets
protected Insets tabInsets
Tab insets
-
selectedTabPadInsets
protected Insets selectedTabPadInsets
Selected tab insets
-
tabAreaInsets
protected Insets tabAreaInsets
Tab area insets
-
contentBorderInsets
protected Insets contentBorderInsets
Content border insets
-
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
Tab runs
-
runCount
protected int runCount
Run count
-
selectedRun
protected int selectedRun
Selected run
-
rects
protected Rectangle[] rects
Tab rects
-
maxTabHeight
protected int maxTabHeight
Maximum tab height
-
maxTabWidth
protected int maxTabWidth
Maximum tab width
-
tabChangeListener
protected ChangeListener tabChangeListener
Tab change listener
-
propertyChangeListener
protected PropertyChangeListener propertyChangeListener
Property change listener
-
mouseListener
protected MouseListener mouseListener
Mouse change listener
-
focusListener
protected FocusListener focusListener
Focus change listener
-
calcRect
protected transient Rectangle calcRect
A rectangle used for general layout calculations in order to avoid constructing many new Rectangles on the fly.
-
-
Method Detail
-
createUI
public static ComponentUI createUI(JComponent c)
Create a UI.- Parameters:
c
- a component- Returns:
- a UI
-
installUI
public void installUI(JComponent c)
Description copied from class:ComponentUI
Configures the specified component appropriately for the look and feel. This method is invoked when theComponentUI
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:- Install 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.
- Install a
LayoutManager
on the component if necessary. - Create/add any required sub-components to the component.
- Create/install event listeners on the component.
- Create/install a
PropertyChangeListener
on the component in order to detect and respond to component property changes appropriately. - Install keyboard UI (mnemonics, traversal, etc.) on the component.
- Initialize any appropriate instance data.
- Overrides:
installUI
in classComponentUI
- 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 duringinstallUI
. This method is invoked when thisUIComponent
instance is being removed as the UI delegate for the specified component. This method should undo the configuration performed ininstallUI
, being careful to leave theJComponent
instance in a clean state (no extraneous listeners, look-and-feel-specific property objects, etc.). This should include the following:- Remove any UI-set borders from the component.
- Remove any UI-set layout managers on the component.
- Remove any UI-added sub-components from the component.
- Remove any UI-added event/property listeners from the component.
- Remove any UI-installed keyboard UI from the component.
- Nullify any allocated instance data objects to allow for GC.
- Overrides:
uninstallUI
in classComponentUI
- 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 byinstallUI
to create a layout manager object to manage theJTabbedPane
.- 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()
Install the defaults.
-
uninstallDefaults
protected void uninstallDefaults()
Uninstall the defaults.
-
installListeners
protected void installListeners()
Install the listeners.
-
uninstallListeners
protected void uninstallListeners()
Uninstall the listeners.
-
createMouseListener
protected MouseListener createMouseListener()
Creates a mouse listener.- Returns:
- a mouse listener
-
createFocusListener
protected FocusListener createFocusListener()
Creates a focus listener.- Returns:
- a focus listener
-
createChangeListener
protected ChangeListener createChangeListener()
Creates a change listener.- Returns:
- a change listener
-
createPropertyChangeListener
protected PropertyChangeListener createPropertyChangeListener()
Creates a property change listener.- Returns:
- a property change listener
-
installKeyboardActions
protected void installKeyboardActions()
Installs the keyboard actions.
-
uninstallKeyboardActions
protected void uninstallKeyboardActions()
Uninstalls the keyboard actions.
-
setRolloverTab
protected void setRolloverTab(int index)
Sets the tab the mouse is currently over toindex
.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. Ifnull
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 invokesgetPreferredSize
and returns that value.- Overrides:
getMinimumSize
in classComponentUI
- 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 ornull
- 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. Ifnull
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 invokesgetPreferredSize
and returns that value.- Overrides:
getMaximumSize
in classComponentUI
- 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 ornull
- 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 classComponentUI
- Parameters:
c
-JComponent
baseline is being requested forwidth
- the width to get the baseline forheight
- the height to get the baseline for- Returns:
- baseline or a value < 0 indicating there is no reasonable baseline
- Throws:
NullPointerException
- ifc
isnull
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 classComponentUI
- Parameters:
c
-JComponent
to return baseline resize behavior for- Returns:
- an enum indicating how the baseline changes as the component size changes
- Throws:
NullPointerException
- ifc
isnull
- 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 asgetTabLabelShiftY
.- 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 appropriately for the look and feel. This method is invoked from theComponentUI.update
method when the specified component is being painted. Subclasses should override this method and use the specifiedGraphics
object to render the content of the component.- Overrides:
paint
in classComponentUI
- Parameters:
g
- theGraphics
context in which to paintc
- 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 validGraphics
object. Tab placement may be either:JTabbedPane.TOP
,JTabbedPane.BOTTOM
,JTabbedPane.LEFT
, orJTabbedPane.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 renderingtabPlacement
- the placement for the tabs within the JTabbedPaneselectedIndex
- 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)
Paints a tab.- Parameters:
g
- the graphicstabPlacement
- the tab placementrects
- rectanglestabIndex
- the tab indexiconRect
- the icon rectangletextRect
- the text rectangle
-
layoutLabel
protected void layoutLabel(int tabPlacement, FontMetrics metrics, int tabIndex, String title, Icon icon, Rectangle tabRect, Rectangle iconRect, Rectangle textRect, boolean isSelected)
Laysout a label.- Parameters:
tabPlacement
- the tab placementmetrics
- the font metrictabIndex
- the tab indextitle
- the titleicon
- the icontabRect
- the tab rectangleiconRect
- the icon rectangletextRect
- the text rectangleisSelected
- selection status
-
paintIcon
protected void paintIcon(Graphics g, int tabPlacement, int tabIndex, Icon icon, Rectangle iconRect, boolean isSelected)
Paints an icon.- Parameters:
g
- the graphicstabPlacement
- the tab placementtabIndex
- the tab indexicon
- the iconiconRect
- the icon rectangleisSelected
- selection status
-
paintText
protected void paintText(Graphics g, int tabPlacement, Font font, FontMetrics metrics, int tabIndex, String title, Rectangle textRect, boolean isSelected)
Paints text.- Parameters:
g
- the graphicstabPlacement
- the tab placementfont
- the fontmetrics
- the font metricstabIndex
- the tab indextitle
- the titletextRect
- the text rectangleisSelected
- selection status
-
getTabLabelShiftX
protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
Returns the tab label shift x.- Parameters:
tabPlacement
- the tab placementtabIndex
- the tab indexisSelected
- selection status- Returns:
- the tab label shift x
-
getTabLabelShiftY
protected int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
Returns the tab label shift y.- Parameters:
tabPlacement
- the tab placementtabIndex
- the tab indexisSelected
- selection status- Returns:
- the tab label shift y
-
paintFocusIndicator
protected void paintFocusIndicator(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect, boolean isSelected)
Paints the focus indicator.- Parameters:
g
- the graphicstabPlacement
- the tab placementrects
- rectanglestabIndex
- the tab indexiconRect
- the icon rectangletextRect
- the text rectangleisSelected
- selection status
-
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- Parameters:
g
- the graphics context in which to painttabPlacement
- the placement (left, right, bottom, top) of the tabtabIndex
- the index of the tab with respect to other tabsx
- the x coordinate of taby
- the y coordinate of tabw
- the width of the tabh
- the height of the tabisSelected
- aboolean
which determines whether or not the tab is selected
-
paintTabBackground
protected void paintTabBackground(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)
Paints the tab background.- Parameters:
g
- the graphics context in which to painttabPlacement
- the placement (left, right, bottom, top) of the tabtabIndex
- the index of the tab with respect to other tabsx
- the x coordinate of taby
- the y coordinate of tabw
- the width of the tabh
- the height of the tabisSelected
- aboolean
which determines whether or not the tab is selected
-
paintContentBorder
protected void paintContentBorder(Graphics g, int tabPlacement, int selectedIndex)
Paints the content border.- Parameters:
g
- the graphics context in which to painttabPlacement
- the placement (left, right, bottom, top) of the tabselectedIndex
- the tab index of the selected component
-
paintContentBorderTopEdge
protected void paintContentBorderTopEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
Paints the content border top edge.- Parameters:
g
- the graphics context in which to painttabPlacement
- the placement (left, right, bottom, top) of the tabselectedIndex
- the tab index of the selected componentx
- the x coordinate of taby
- the y coordinate of tabw
- the width of the tabh
- the height of the tab
-
paintContentBorderLeftEdge
protected void paintContentBorderLeftEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
Paints the content border left edge.- Parameters:
g
- the graphics context in which to painttabPlacement
- the placement (left, right, bottom, top) of the tabselectedIndex
- the tab index of the selected componentx
- the x coordinate of taby
- the y coordinate of tabw
- the width of the tabh
- the height of the tab
-
paintContentBorderBottomEdge
protected void paintContentBorderBottomEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
Paints the content border bottom edge.- Parameters:
g
- the graphics context in which to painttabPlacement
- the placement (left, right, bottom, top) of the tabselectedIndex
- the tab index of the selected componentx
- the x coordinate of taby
- the y coordinate of tabw
- the width of the tabh
- the height of the tab
-
paintContentBorderRightEdge
protected void paintContentBorderRightEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
Paints the content border right edge.- Parameters:
g
- the graphics context in which to painttabPlacement
- the placement (left, right, bottom, top) of the tabselectedIndex
- the tab index of the selected componentx
- the x coordinate of taby
- the y coordinate of tabw
- the width of the tabh
- the height of the tab
-
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 classTabbedPaneUI
- Parameters:
pane
- the panei
- the index- Returns:
- the rectangle for the tab bounds
-
getTabRunCount
public int getTabRunCount(JTabbedPane pane)
Description copied from class:TabbedPaneUI
Returns the tab run count.- Specified by:
getTabRunCount
in classTabbedPaneUI
- Parameters:
pane
- the pane- Returns:
- the tab run count
-
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 classTabbedPaneUI
- Parameters:
pane
- the panex
- the x coordinatey
- the y coordinate- Returns:
- the tab for the coordinate
-
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 validRectangle
instance. The handling of invalid parameters is unspecified.- Parameters:
tabIndex
- the index of the tabdest
- the rectangle where the result should be placed- Returns:
- the resulting rectangle
- Since:
- 1.4
-
getVisibleComponent
protected Component getVisibleComponent()
Returns the visible component.- Returns:
- the visible component
-
setVisibleComponent
protected void setVisibleComponent(Component component)
Sets the visible component.- Parameters:
component
- the component
-
assureRectsCreated
protected void assureRectsCreated(int tabCount)
Assure the rectangles are created.- Parameters:
tabCount
- the tab count
-
expandTabRunsArray
protected void expandTabRunsArray()
Expands the tab runs array.
-
getRunForTab
protected int getRunForTab(int tabCount, int tabIndex)
Returns the run for a tab.- Parameters:
tabCount
- the tab counttabIndex
- the tab index.- Returns:
- the run for a tab
-
lastTabInRun
protected int lastTabInRun(int tabCount, int run)
Returns the last tab in a run.- Parameters:
tabCount
- the tab countrun
- the run- Returns:
- the last tab in a run
-
getTabRunOverlay
protected int getTabRunOverlay(int tabPlacement)
Returns the tab run overlay.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tab- Returns:
- the tab run overlay
-
getTabRunIndent
protected int getTabRunIndent(int tabPlacement, int run)
Returns the tab run indent.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tabrun
- the tab run- Returns:
- the tab run indent
-
shouldPadTabRun
protected boolean shouldPadTabRun(int tabPlacement, int run)
Returns whether or not the tab run should be padded.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tabrun
- the tab run- Returns:
- whether or not the tab run should be padded
-
shouldRotateTabRuns
protected boolean shouldRotateTabRuns(int tabPlacement)
Returns whether or not the tab run should be rotated.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tab- Returns:
- whether or not the tab run should be rotated
-
getIconForTab
protected Icon getIconForTab(int tabIndex)
Returns the icon for a tab.- Parameters:
tabIndex
- the index of the tab- Returns:
- the icon for a tab
-
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)
Calculates the tab height.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tabtabIndex
- the index of the tab with respect to other tabsfontHeight
- the font height- Returns:
- the tab height
-
calculateMaxTabHeight
protected int calculateMaxTabHeight(int tabPlacement)
Calculates the maximum tab height.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tab- Returns:
- the maximum tab height
-
calculateTabWidth
protected int calculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics)
Calculates the tab width.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tabtabIndex
- the index of the tab with respect to other tabsmetrics
- the font metrics- Returns:
- the tab width
-
calculateMaxTabWidth
protected int calculateMaxTabWidth(int tabPlacement)
Calculates the maximum tab width.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tab- Returns:
- the maximum tab width
-
calculateTabAreaHeight
protected int calculateTabAreaHeight(int tabPlacement, int horizRunCount, int maxTabHeight)
Calculates the tab area height.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tabhorizRunCount
- horizontal run countmaxTabHeight
- maximum tab height- Returns:
- the tab area height
-
calculateTabAreaWidth
protected int calculateTabAreaWidth(int tabPlacement, int vertRunCount, int maxTabWidth)
Calculates the tab area width.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tabvertRunCount
- vertical run countmaxTabWidth
- maximum tab width- Returns:
- the tab area width
-
getTabInsets
protected Insets getTabInsets(int tabPlacement, int tabIndex)
Returns the tab insets.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tabtabIndex
- the tab index- Returns:
- the tab insets
-
getSelectedTabPadInsets
protected Insets getSelectedTabPadInsets(int tabPlacement)
Returns the selected tab pad insets.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tab- Returns:
- the selected tab pad insets
-
getTabAreaInsets
protected Insets getTabAreaInsets(int tabPlacement)
Returns the tab area insets.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tab- Returns:
- the pad area insets
-
getContentBorderInsets
protected Insets getContentBorderInsets(int tabPlacement)
Returns the content border insets.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tab- Returns:
- the content border insets
-
getFontMetrics
protected FontMetrics getFontMetrics()
Returns the font metrics.- Returns:
- the font metrics
-
navigateSelectedTab
protected void navigateSelectedTab(int direction)
Navigate the selected tab.- Parameters:
direction
- the direction
-
selectNextTabInRun
protected void selectNextTabInRun(int current)
Select the next tab in the run.- Parameters:
current
- the current tab
-
selectPreviousTabInRun
protected void selectPreviousTabInRun(int current)
Select the previous tab in the run.- Parameters:
current
- the current tab
-
selectNextTab
protected void selectNextTab(int current)
Select the next tab.- Parameters:
current
- the current tab
-
selectPreviousTab
protected void selectPreviousTab(int current)
Select the previous tab.- Parameters:
current
- the current tab
-
selectAdjacentRunTab
protected void selectAdjacentRunTab(int tabPlacement, int tabIndex, int offset)
Selects an adjacent run of tabs.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tabtabIndex
- the index of the tab with respect to other tabsoffset
- selection 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)
Returns the tab run offset.- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tabtabCount
- the tab counttabIndex
- the index of the tab with respect to other tabsforward
- forward or not- Returns:
- the tab run offset
-
getPreviousTabIndex
protected int getPreviousTabIndex(int base)
Returns the previous tab index.- Parameters:
base
- the base- Returns:
- the previous tab index
-
getNextTabIndex
protected int getNextTabIndex(int base)
Returns the next tab index.- Parameters:
base
- the base- Returns:
- the next tab index
-
getNextTabIndexInRun
protected int getNextTabIndexInRun(int tabCount, int base)
Returns the next tab index in the run.- Parameters:
tabCount
- the tab countbase
- the base- Returns:
- the next tab index in the run
-
getPreviousTabIndexInRun
protected int getPreviousTabIndexInRun(int tabCount, int base)
Returns the previous tab index in the run.- Parameters:
tabCount
- the tab countbase
- the base- Returns:
- the previous tab index in the run
-
getPreviousTabRun
protected int getPreviousTabRun(int baseRun)
Returns the previous tab run.- Parameters:
baseRun
- the base run- Returns:
- the previous tab run
-
getNextTabRun
protected int getNextTabRun(int baseRun)
Returns the next tab run.- Parameters:
baseRun
- the base run- Returns:
- the next tab run
-
-