- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.TabbedPaneUI
-
- javax.swing.plaf.basic.BasicTabbedPaneUI
-
- javax.swing.plaf.metal.MetalTabbedPaneUI
-
- All Implemented Interfaces:
SwingConstants
public class MetalTabbedPaneUI extends BasicTabbedPaneUI
The Metal subclass of BasicTabbedPaneUI.Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. As of 1.4, support for long term storage of all JavaBeans™ has been added to the
java.beans
package. Please seeXMLEncoder
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
MetalTabbedPaneUI.TabbedPaneLayout
This class should be treated as a "protected" inner class.-
Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI
BasicTabbedPaneUI.FocusHandler, BasicTabbedPaneUI.MouseHandler, BasicTabbedPaneUI.PropertyChangeHandler, BasicTabbedPaneUI.TabSelectionHandler
-
-
Field Summary
Fields Modifier and Type Field Description protected int
minTabWidth
The minimum width of a pane.protected Color
selectColor
The color of the selected pane.protected Color
selectHighlight
The color of the highlight.protected Color
tabAreaBackground
The color of tab's background.-
Fields inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI
calcRect, contentBorderInsets, darkShadow, downKey, focus, focusListener, highlight, leftKey, lightHighlight, maxTabHeight, maxTabWidth, mouseListener, propertyChangeListener, rects, rightKey, runCount, selectedRun, selectedTabPadInsets, shadow, tabAreaInsets, tabChangeListener, tabInsets, tabPane, tabRunOverlay, tabRuns, textIconGap, upKey
-
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 MetalTabbedPaneUI()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
calculateMaxTabHeight(int tabPlacement)
Calculates the maximum tab height.protected LayoutManager
createLayoutManager()
Invoked byinstallUI
to create a layout manager object to manage theJTabbedPane
.static ComponentUI
createUI(JComponent x)
ConstructsMetalTabbedPaneUI
.protected int
getBaselineOffset()
Returns the amount the baseline is offset by.protected Color
getColorForGap(int currentRun, int x, int y)
Returns the color of the gap.protected int
getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
Overridden to do nothing for the Java L&F.protected int
getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
Overridden to do nothing for the Java L&F.protected int
getTabRunOverlay(int tabPlacement)
Returns the tab run overlay.protected void
installDefaults()
Install the defaults.void
paint(Graphics g, JComponent c)
Paints the specified component appropriately for the look and feel.protected void
paintBottomTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
Paints the bottom tab 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
paintHighlightBelowTab()
Paints highlights below tab.protected void
paintLeftTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
Paints the left tab border.protected void
paintRightTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
Paints the right tab border.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
paintTopTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
Paints the top tab border.protected boolean
shouldFillGap(int currentRun, int tabIndex, int x, int y)
Returnstrue
if the gap should be filled.protected boolean
shouldPadTabRun(int tabPlacement, int run)
Returns whether or not the tab run should be padded.protected boolean
shouldRotateTabRuns(int tabPlacement, int selectedRun)
Returnstrue
if tab runs should be rotated.void
update(Graphics g, JComponent c)
Notifies this UI delegate that it is time to paint the specified component.-
Methods inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI
assureRectsCreated, calculateMaxTabWidth, calculateTabAreaHeight, calculateTabAreaWidth, calculateTabHeight, calculateTabWidth, createChangeListener, createFocusListener, createMouseListener, createPropertyChangeListener, createScrollButton, expandTabRunsArray, getBaseline, getBaseline, getBaselineResizeBehavior, getContentBorderInsets, getFocusIndex, getFontMetrics, getIconForTab, getMaximumSize, getMinimumSize, getNextTabIndex, getNextTabIndexInRun, getNextTabRun, getPreviousTabIndex, getPreviousTabIndexInRun, getPreviousTabRun, getRolloverTab, getRunForTab, getSelectedTabPadInsets, getTabAreaInsets, getTabBounds, getTabBounds, getTabInsets, getTabRunCount, getTabRunIndent, getTabRunOffset, getTextViewForTab, getVisibleComponent, installComponents, installKeyboardActions, installListeners, installUI, lastTabInRun, layoutLabel, navigateSelectedTab, paintContentBorder, paintIcon, paintTab, paintTabArea, paintText, rotateInsets, selectAdjacentRunTab, selectNextTab, selectNextTabInRun, selectPreviousTab, selectPreviousTabInRun, setRolloverTab, setVisibleComponent, shouldRotateTabRuns, tabForCoordinate, uninstallComponents, uninstallDefaults, uninstallKeyboardActions, uninstallListeners, uninstallUI
-
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getPreferredSize
-
-
-
-
Field Detail
-
minTabWidth
protected int minTabWidth
The minimum width of a pane.
-
tabAreaBackground
protected Color tabAreaBackground
The color of tab's background.
-
selectColor
protected Color selectColor
The color of the selected pane.
-
selectHighlight
protected Color selectHighlight
The color of the highlight.
-
-
Method Detail
-
createUI
public static ComponentUI createUI(JComponent x)
ConstructsMetalTabbedPaneUI
.- Parameters:
x
- a component- Returns:
- an instance of
MetalTabbedPaneUI
-
createLayoutManager
protected LayoutManager createLayoutManager()
Description copied from class:BasicTabbedPaneUI
Invoked byinstallUI
to create a layout manager object to manage theJTabbedPane
.- Overrides:
createLayoutManager
in classBasicTabbedPaneUI
- Returns:
- a layout manager object
- See Also:
BasicTabbedPaneUI.TabbedPaneLayout
,JTabbedPane.getTabLayoutPolicy()
-
installDefaults
protected void installDefaults()
Description copied from class:BasicTabbedPaneUI
Install the defaults.- Overrides:
installDefaults
in classBasicTabbedPaneUI
-
paintTabBorder
protected void paintTabBorder(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)
Description copied from class:BasicTabbedPaneUI
this function draws the border around each tab note that this function does now draw the background of the tab. that is done elsewhere- Overrides:
paintTabBorder
in classBasicTabbedPaneUI
- 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
-
paintTopTabBorder
protected void paintTopTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
Paints the top tab border.- Parameters:
tabIndex
- a tab indexg
- an instance ofGraphics
x
- an X coordinatey
- an Y coordinatew
- a widthh
- a heightbtm
- bottomrght
- rightisSelected
- a selection
-
shouldFillGap
protected boolean shouldFillGap(int currentRun, int tabIndex, int x, int y)
Returnstrue
if the gap should be filled.- Parameters:
currentRun
- the current runtabIndex
- the tab indexx
- an X coordinatey
- an Y coordinate- Returns:
true
if the gap should be filled
-
getColorForGap
protected Color getColorForGap(int currentRun, int x, int y)
Returns the color of the gap.- Parameters:
currentRun
- the current runx
- an X coordinatey
- an Y coordinate- Returns:
- the color of the gap
-
paintLeftTabBorder
protected void paintLeftTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
Paints the left tab border.- Parameters:
tabIndex
- a tab indexg
- an instance ofGraphics
x
- an X coordinatey
- an Y coordinatew
- a widthh
- a heightbtm
- bottomrght
- rightisSelected
- a selection
-
paintBottomTabBorder
protected void paintBottomTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
Paints the bottom tab border.- Parameters:
tabIndex
- a tab indexg
- an instance ofGraphics
x
- an X coordinatey
- an Y coordinatew
- a widthh
- a heightbtm
- bottomrght
- rightisSelected
- a selection
-
paintRightTabBorder
protected void paintRightTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
Paints the right tab border.- Parameters:
tabIndex
- a tab indexg
- an instance ofGraphics
x
- an X coordinatey
- an Y coordinatew
- a widthh
- a heightbtm
- bottomrght
- rightisSelected
- a selection
-
update
public void update(Graphics g, JComponent c)
Description copied from class:ComponentUI
Notifies this UI delegate that it is time to paint the specified component. This method is invoked byJComponent
when the specified component is being painted.By default this method fills the specified component with its background color if its
opaque
property istrue
, and then immediately callspaint
. In general this method need not be overridden by subclasses; all look-and-feel rendering code should reside in thepaint
method.- Overrides:
update
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.paint(java.awt.Graphics, javax.swing.JComponent)
,JComponent.paintComponent(java.awt.Graphics)
-
paintTabBackground
protected void paintTabBackground(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)
Description copied from class:BasicTabbedPaneUI
Paints the tab background.- Overrides:
paintTabBackground
in classBasicTabbedPaneUI
- 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
-
getTabLabelShiftX
protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
Overridden to do nothing for the Java L&F.- Overrides:
getTabLabelShiftX
in classBasicTabbedPaneUI
- 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)
Overridden to do nothing for the Java L&F.- Overrides:
getTabLabelShiftY
in classBasicTabbedPaneUI
- Parameters:
tabPlacement
- the tab placementtabIndex
- the tab indexisSelected
- selection status- Returns:
- the tab label shift y
-
getBaselineOffset
protected int getBaselineOffset()
Returns the amount the baseline is offset by. This is typically the same asgetTabLabelShiftY
.- Overrides:
getBaselineOffset
in classBasicTabbedPaneUI
- 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 classBasicTabbedPaneUI
- 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)
-
paintHighlightBelowTab
protected void paintHighlightBelowTab()
Paints highlights below tab.
-
paintFocusIndicator
protected void paintFocusIndicator(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect, boolean isSelected)
Description copied from class:BasicTabbedPaneUI
Paints the focus indicator.- Overrides:
paintFocusIndicator
in classBasicTabbedPaneUI
- Parameters:
g
- the graphicstabPlacement
- the tab placementrects
- rectanglestabIndex
- the tab indexiconRect
- the icon rectangletextRect
- the text rectangleisSelected
- selection status
-
paintContentBorderTopEdge
protected void paintContentBorderTopEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
Description copied from class:BasicTabbedPaneUI
Paints the content border top edge.- Overrides:
paintContentBorderTopEdge
in classBasicTabbedPaneUI
- 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)
Description copied from class:BasicTabbedPaneUI
Paints the content border bottom edge.- Overrides:
paintContentBorderBottomEdge
in classBasicTabbedPaneUI
- 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)
Description copied from class:BasicTabbedPaneUI
Paints the content border left edge.- Overrides:
paintContentBorderLeftEdge
in classBasicTabbedPaneUI
- 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)
Description copied from class:BasicTabbedPaneUI
Paints the content border right edge.- Overrides:
paintContentBorderRightEdge
in classBasicTabbedPaneUI
- 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
-
calculateMaxTabHeight
protected int calculateMaxTabHeight(int tabPlacement)
Description copied from class:BasicTabbedPaneUI
Calculates the maximum tab height.- Overrides:
calculateMaxTabHeight
in classBasicTabbedPaneUI
- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tab- Returns:
- the maximum tab height
-
getTabRunOverlay
protected int getTabRunOverlay(int tabPlacement)
Description copied from class:BasicTabbedPaneUI
Returns the tab run overlay.- Overrides:
getTabRunOverlay
in classBasicTabbedPaneUI
- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tab- Returns:
- the tab run overlay
-
shouldRotateTabRuns
protected boolean shouldRotateTabRuns(int tabPlacement, int selectedRun)
Returnstrue
if tab runs should be rotated.- Parameters:
tabPlacement
- a tab placementselectedRun
- a selected run- Returns:
true
if tab runs should be rotated.
-
shouldPadTabRun
protected boolean shouldPadTabRun(int tabPlacement, int run)
Description copied from class:BasicTabbedPaneUI
Returns whether or not the tab run should be padded.- Overrides:
shouldPadTabRun
in classBasicTabbedPaneUI
- Parameters:
tabPlacement
- the placement (left, right, bottom, top) of the tabrun
- the tab run- Returns:
- whether or not the tab run should be padded
-
-