- 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
BasicTabbedPaneUI的Metal子类。警告:此类的序列化对象与将来的Swing版本不兼容。 当前的序列化支持适用于运行相同版本的Swing的应用程序之间的短期存储或RMI。 从1.4开始,对所有JavaBeans的长期存储的支持已被添加到
java.beans
包中。 请参阅XMLEncoder
。
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 class
MetalTabbedPaneUI.TabbedPaneLayout
这个类应该被视为一个“受保护”的内部类。-
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 描述 protected int
minTabWidth
窗格的最小宽度。protected Color
selectColor
所选窗格的颜色。protected Color
selectHighlight
亮点的颜色。protected Color
tabAreaBackground
标签背景的颜色。-
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 描述 MetalTabbedPaneUI()
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 protected int
calculateMaxTabHeight(int tabPlacement)
计算最大标签高度。protected LayoutManager
createLayoutManager()
调用installUI
创建一个布局管理器对象来管理JTabbedPane
。static ComponentUI
createUI(JComponent x)
构造MetalTabbedPaneUI
。protected int
getBaselineOffset()
返回基线偏移量。protected Color
getColorForGap(int currentRun, int x, int y)
返回间隙的颜色。protected int
getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
被覆盖为Java L&F不做任何事情。protected int
getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
被覆盖为Java L&F不做任何事情。protected int
getTabRunOverlay(int tabPlacement)
返回标签运行叠加层。protected void
installDefaults()
安装默认值。void
paint(Graphics g, JComponent c)
适当地涂抹指定的组件的外观和感觉。protected void
paintBottomTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
绘制底部标签边框。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
paintHighlightBelowTab()
油漆在下面的选项卡。protected void
paintLeftTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
画左标签边框。protected void
paintRightTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
绘制正确的标签边框。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)
此函数绘制每个选项卡周围的边框,该函数现在绘制该选项卡的背景。protected void
paintTopTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
绘制顶部标签边框。protected boolean
shouldFillGap(int currentRun, int tabIndex, int x, int y)
返回true
如果差距应该填补。protected boolean
shouldPadTabRun(int tabPlacement, int run)
返回是否应填充选项卡运行。protected boolean
shouldRotateTabRuns(int tabPlacement, int selectedRun)
如果选项卡运行应该旋转,则返回true
。void
update(Graphics g, JComponent c)
通知这个UI委托是时候绘制指定的组件。-
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
-
-
-
-
方法详细信息
-
createUI
public static ComponentUI createUI(JComponent x)
构造MetalTabbedPaneUI
。- 参数
-
x
- 一个组件 - 结果
-
一个
MetalTabbedPaneUI
-
createLayoutManager
protected LayoutManager createLayoutManager()
描述从类复制:BasicTabbedPaneUI
调用installUI
创建一个布局管理器对象来管理JTabbedPane
。- 重写:
-
createLayoutManager
在BasicTabbedPaneUI
- 结果
- 布局管理器对象
- 另请参见:
-
BasicTabbedPaneUI.TabbedPaneLayout
,JTabbedPane.getTabLayoutPolicy()
-
installDefaults
protected void installDefaults()
描述从类复制:BasicTabbedPaneUI
安装默认值。
-
paintTabBorder
protected void paintTabBorder(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)
描述从类复制:BasicTabbedPaneUI
此函数绘制每个选项卡周围的边框,该函数现在绘制该选项卡的背景。 这在其他地方完成- 重写:
-
paintTabBorder
在BasicTabbedPaneUI
- 参数
-
g
- 要绘制的图形上下文 -
tabPlacement
- 选项卡的位置(左,右,下,上) -
tabIndex
- 相对于其他选项卡的选项卡的索引 -
x
- 标签的x坐标 -
y
- 标签的y坐标 -
w
- 标签的宽度 -
h
- 标签的高度 -
isSelected
boolean
,其确定选项卡是否被选择
-
paintTopTabBorder
protected void paintTopTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
绘制顶部标签边框。- 参数
-
tabIndex
- 选项卡索引 -
g
-实例Graphics
-
x
- X坐标 -
y
- 一个Y坐标 -
w
- 一个宽度 -
h
- 一个高度 -
btm
- 底部 -
rght
- 对 -
isSelected
- 一个选择
-
shouldFillGap
protected boolean shouldFillGap(int currentRun, int tabIndex, int x, int y)
返回true
如果差距应该填补。- 参数
-
currentRun
- 当前运行 -
tabIndex
- 选项卡索引 -
x
- X坐标 -
y
- 一个Y坐标 - 结果
-
true
如果差距应该填补
-
getColorForGap
protected Color getColorForGap(int currentRun, int x, int y)
返回间隙的颜色。- 参数
-
currentRun
- 当前运行 -
x
- X坐标 -
y
- 一个Y坐标 - 结果
- 差距的颜色
-
paintLeftTabBorder
protected void paintLeftTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
画左标签边框。- 参数
-
tabIndex
- 一个标签索引 -
g
-实例Graphics
-
x
- 一个X坐标 -
y
- 一个Y坐标 -
w
- 一个宽度 -
h
- 一个高度 -
btm
- 底部 -
rght
- 对 -
isSelected
- 一个选择
-
paintBottomTabBorder
protected void paintBottomTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
绘制底部标签边框。- 参数
-
tabIndex
- 选项卡索引 -
g
-实例Graphics
-
x
- X坐标 -
y
- 一个Y坐标 -
w
- 一个宽度 -
h
- 一个高度 -
btm
- 底部 -
rght
- 对 -
isSelected
- 一个选择
-
paintRightTabBorder
protected void paintRightTabBorder(int tabIndex, Graphics g, int x, int y, int w, int h, int btm, int rght, boolean isSelected)
绘制正确的标签边框。- 参数
-
tabIndex
- 选项卡索引 -
g
-实例Graphics
-
x
- 一个X坐标 -
y
- 一个Y坐标 -
w
- 一个宽度 -
h
- 一个高度 -
btm
- 底部 -
rght
- 对 -
isSelected
- 一个选择
-
update
public void update(Graphics g, JComponent c)
描述从类复制:ComponentUI
通知这个UI委托是时候绘制指定的组件。 当指定的组件被绘制时,此方法由JComponent
调用。默认情况下,如果该方法的
opaque
属性为true
,则该方法将使用其背景颜色填充指定的组件,然后立即调用paint
。 通常这个方法不需要被子类覆盖; 所有外观和渲染代码都应位于paint
方法中。- 重写:
-
update
在ComponentUI
- 参数
-
g
- 要绘画的Graphics
上下文 -
c
- 被涂的部件 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 另请参见:
-
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)
描述从类复制:BasicTabbedPaneUI
绘制标签背景。- 重写:
-
paintTabBackground
BasicTabbedPaneUI
- 参数
-
g
- 要绘制的图形上下文 -
tabPlacement
- 选项卡的位置(左,右,下,上) -
tabIndex
- 相对于其他选项卡的选项卡的索引 -
x
- 标签的x坐标 -
y
- 选项卡的y坐标 -
w
- 选项卡的宽度 -
h
- 标签的高度 -
isSelected
- 一个boolean
,其确定选项卡是否被选择
-
getTabLabelShiftX
protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
被覆盖为Java L&F不做任何事情。- 重写:
-
getTabLabelShiftX
在BasicTabbedPaneUI
- 参数
-
tabPlacement
- 标签位置 -
tabIndex
- 选项卡索引 -
isSelected
- 选择状态 - 结果
- 标签标签移位x
-
getTabLabelShiftY
protected int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
被覆盖为Java L&F不做任何事情。- 重写:
-
getTabLabelShiftY
在BasicTabbedPaneUI
- 参数
-
tabPlacement
- 标签位置 -
tabIndex
- 选项卡索引 -
isSelected
- 选择状态 - 结果
- 标签标签移位y
-
getBaselineOffset
protected int getBaselineOffset()
返回基线偏移量。 这通常与getTabLabelShiftY
相同。- 重写:
-
getBaselineOffset
在BasicTabbedPaneUI
- 结果
- 抵消基线的数额
- 从以下版本开始:
- 1.6
-
paint
public void paint(Graphics g, JComponent c)
描述从类复制:ComponentUI
适当地涂抹指定的组件的外观和感觉。 当正在绘制指定的组件时,将从ComponentUI.update
方法调用此方法。 子类应该覆盖此方法,并使用指定的Graphics
对象来呈现组件的内容。- 重写:
-
paint
在BasicTabbedPaneUI
- 参数
-
g
- 要绘画的Graphics
上下文 -
c
- 正在画的部件 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 另请参见:
-
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
-
paintHighlightBelowTab
protected void paintHighlightBelowTab()
油漆在下面的选项卡。
-
paintFocusIndicator
protected void paintFocusIndicator(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect, boolean isSelected)
描述从类复制:BasicTabbedPaneUI
绘制焦点指示器。- 重写:
-
paintFocusIndicator
在BasicTabbedPaneUI
- 参数
-
g
- 图形 -
tabPlacement
- 标签位置 -
rects
- 矩形 -
tabIndex
- 选项卡索引 -
iconRect
- 图标矩形 -
textRect
- 文本矩形 -
isSelected
- 选择状态
-
paintContentBorderTopEdge
protected void paintContentBorderTopEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
描述从类别复制:BasicTabbedPaneUI
绘制内容边框上边缘。- 重写:
-
paintContentBorderTopEdge
在BasicTabbedPaneUI
- 参数
-
g
- 要绘制的图形上下文 -
tabPlacement
- 选项卡的位置(左,右,底部,顶部) -
selectedIndex
- 所选组件的选项卡索引 -
x
- 标签的x坐标 -
y
- 标签的y坐标 -
w
- 标签的宽度 -
h
- 标签的高度
-
paintContentBorderBottomEdge
protected void paintContentBorderBottomEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
描述从类别复制:BasicTabbedPaneUI
绘制内容边框底边。- 重写:
-
paintContentBorderBottomEdge
在BasicTabbedPaneUI
- 参数
-
g
- 要绘制的图形上下文 -
tabPlacement
- 选项卡的位置(左,右,底部,顶部) -
selectedIndex
- 所选组件的选项卡索引 -
x
- 标签的x坐标 -
y
- 标签的y坐标 -
w
- 标签的宽度 -
h
- 标签的高度
-
paintContentBorderLeftEdge
protected void paintContentBorderLeftEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
描述从类复制:BasicTabbedPaneUI
绘制内容边框左边缘。- 重写:
-
paintContentBorderLeftEdge
在BasicTabbedPaneUI
- 参数
-
g
- 要绘制的图形上下文 -
tabPlacement
- 选项卡的位置(左,右,下,上) -
selectedIndex
- 所选组件的选项卡索引 -
x
- 标签的x坐标 -
y
- 标签的y坐标 -
w
- 选项卡的宽度 -
h
- 标签的高度
-
paintContentBorderRightEdge
protected void paintContentBorderRightEdge(Graphics g, int tabPlacement, int selectedIndex, int x, int y, int w, int h)
描述从类复制:BasicTabbedPaneUI
绘制内容边框右边缘。- 重写:
-
paintContentBorderRightEdge
在BasicTabbedPaneUI
- 参数
-
g
- 要绘制的图形上下文 -
tabPlacement
- 选项卡的位置(左,右,下,上) -
selectedIndex
- 所选组件的选项卡索引 -
x
- 标签的x坐标 -
y
- 选项卡的y坐标 -
w
- 选项卡的宽度 -
h
- 标签的高度
-
calculateMaxTabHeight
protected int calculateMaxTabHeight(int tabPlacement)
描述从类复制:BasicTabbedPaneUI
计算最大标签高度。- 重写:
-
calculateMaxTabHeight
在BasicTabbedPaneUI
- 参数
-
tabPlacement
- 选项卡的位置(左,右,底部,顶部) - 结果
- 最大标签高度
-
getTabRunOverlay
protected int getTabRunOverlay(int tabPlacement)
描述从类复制:BasicTabbedPaneUI
返回标签运行叠加层。- 重写:
-
getTabRunOverlay
在BasicTabbedPaneUI
- 参数
-
tabPlacement
- 选项卡的位置(左,右,下,上) - 结果
- 选项卡运行覆盖
-
shouldRotateTabRuns
protected boolean shouldRotateTabRuns(int tabPlacement, int selectedRun)
如果选项卡运行应该旋转,则返回true
。- 参数
-
tabPlacement
- 标签位置 -
selectedRun
- 选定的运行 - 结果
-
true
如果选项卡运行应该旋转。
-
shouldPadTabRun
protected boolean shouldPadTabRun(int tabPlacement, int run)
描述从类复制:BasicTabbedPaneUI
返回是否应填充选项卡运行。- 重写:
-
shouldPadTabRun
在BasicTabbedPaneUI
- 参数
-
tabPlacement
- 选项卡的位置(左,右,下,上) -
run
- 选项卡运行 - 结果
- 选项卡的运行是否应该被填充
-
-