- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.TabbedPaneUI
-
- javax.swing.plaf.basic.BasicTabbedPaneUI
-
- javax.swing.plaf.synth.SynthTabbedPaneUI
-
- All Implemented Interfaces:
-
PropertyChangeListener
,EventListener
,SynthConstants
,SynthUI
,SwingConstants
public class SynthTabbedPaneUI extends BasicTabbedPaneUI implements PropertyChangeListener, SynthUI
为JTabbedPane
提供Synth L&F UI代表。从“样式”中
selectedTabPadInsets
属性,代表所选选项卡的其他插入。- 从以下版本开始:
- 1.7
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI
BasicTabbedPaneUI.FocusHandler, BasicTabbedPaneUI.MouseHandler, BasicTabbedPaneUI.PropertyChangeHandler, BasicTabbedPaneUI.TabbedPaneLayout, BasicTabbedPaneUI.TabSelectionHandler
-
-
Field Summary
-
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
-
Fields inherited from interface javax.swing.plaf.synth.SynthConstants
DEFAULT, DISABLED, ENABLED, FOCUSED, MOUSE_OVER, PRESSED, SELECTED
-
-
构造方法摘要
构造方法 Constructor 描述 SynthTabbedPaneUI()
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 protected int
calculateMaxTabHeight(int tabPlacement)
计算最大标签高度。protected int
calculateMaxTabWidth(int tabPlacement)
计算最大标签宽度。protected int
calculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics)
计算标签宽度。protected LayoutManager
createLayoutManager()
调用installUI
创建一个布局管理器对象来管理JTabbedPane
。protected MouseListener
createMouseListener()
创建一个鼠标监听器。protected JButton
createScrollButton(int direction)
创建并返回一个JButton,它将向用户提供一种在特定方向滚动选项卡的方法。static ComponentUI
createUI(JComponent c)
为给定的组件创建一个新的UI对象。protected int
getBaseline(int tab)
返回指定选项卡的基线。SynthContext
getContext(JComponent c)
返回指定组件的上下文。protected FontMetrics
getFontMetrics()
返回字体指标。protected Insets
getTabInsets(int tabPlacement, int tabIndex)
返回标签插入。protected int
getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
返回标签移位x。protected int
getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
返回标签标签shift y。protected void
installDefaults()
安装默认值。protected void
installListeners()
安装侦听器void
paint(Graphics g, JComponent c)
根据外观和外观绘制指定的组件。protected void
paint(SynthContext context, Graphics g)
绘制指定的组件。void
paintBorder(SynthContext context, Graphics g, int x, int y, int w, int h)
画边框protected void
paintTabArea(Graphics g, int tabPlacement, int selectedIndex)
绘制标签区域中的选项卡。void
propertyChange(PropertyChangeEvent e)
当绑定属性更改时,此方法将被调用。protected void
setRolloverTab(int index)
将鼠标目前的标签设置为index
。protected void
uninstallDefaults()
卸载默认值。protected void
uninstallListeners()
卸载侦听器。void
update(Graphics g, JComponent c)
通知此UI代理重新绘制指定的组件。-
Methods inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI
assureRectsCreated, calculateTabAreaHeight, calculateTabAreaWidth, calculateTabHeight, createChangeListener, createFocusListener, createPropertyChangeListener, expandTabRunsArray, getBaseline, getBaselineOffset, getBaselineResizeBehavior, getContentBorderInsets, getFocusIndex, getIconForTab, getMaximumSize, getMinimumSize, getNextTabIndex, getNextTabIndexInRun, getNextTabRun, getPreviousTabIndex, getPreviousTabIndexInRun, getPreviousTabRun, getRolloverTab, getRunForTab, getSelectedTabPadInsets, getTabAreaInsets, getTabBounds, getTabBounds, getTabRunCount, getTabRunIndent, getTabRunOffset, getTabRunOverlay, getTextViewForTab, getVisibleComponent, installComponents, installKeyboardActions, installUI, lastTabInRun, layoutLabel, navigateSelectedTab, paintContentBorder, paintContentBorderBottomEdge, paintContentBorderLeftEdge, paintContentBorderRightEdge, paintContentBorderTopEdge, paintFocusIndicator, paintIcon, paintTab, paintTabBackground, paintTabBorder, paintText, rotateInsets, selectAdjacentRunTab, selectNextTab, selectNextTabInRun, selectPreviousTab, selectPreviousTabInRun, setVisibleComponent, shouldPadTabRun, shouldRotateTabRuns, tabForCoordinate, uninstallComponents, uninstallKeyboardActions, uninstallUI
-
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getPreferredSize
-
-
-
-
方法详细信息
-
createUI
public static ComponentUI createUI(JComponent c)
为给定的组件创建一个新的UI对象。- 参数
-
c
- 为其创建UI对象的组件 - 结果
- UI对象
-
installDefaults
protected void installDefaults()
安装默认值。
-
installListeners
protected void installListeners()
安装侦听器
-
uninstallListeners
protected void uninstallListeners()
卸载侦听器。
-
uninstallDefaults
protected void uninstallDefaults()
卸载默认值。
-
getContext
public SynthContext getContext(JComponent c)
返回指定组件的上下文。- Specified by:
-
getContext
在接口SynthUI
- 参数
-
c
- 组件请求SynthContext。 - 结果
- SynthContext描述组件。
-
createScrollButton
protected JButton createScrollButton(int direction)
创建并返回一个JButton,它将向用户提供一种在特定方向滚动选项卡的方法。 返回的JButton必须是UIResource的实例。- 重写:
-
createScrollButton
在BasicTabbedPaneUI
- 参数
-
direction
- 其中一个SwingConstants常量:SOUTH,NORTH,EAST或WEST - 结果
- 用户的小部件
- 另请参见:
-
JTabbedPane.setTabPlacement(int)
,SwingConstants
-
propertyChange
public void propertyChange(PropertyChangeEvent e)
当绑定属性更改时,此方法将被调用。- Specified by:
-
propertyChange
接口PropertyChangeListener
- 参数
-
e
- 描述事件源和已更改的属性的PropertyChangeEvent对象。
-
createMouseListener
protected MouseListener createMouseListener()
创建一个鼠标监听器。 被覆盖以跟踪所选标签是否也被按下。- 重写:
-
createMouseListener
在BasicTabbedPaneUI
- 结果
- 一个鼠标监听器
-
getTabLabelShiftX
protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
返回标签移位x。- 重写:
-
getTabLabelShiftX
在BasicTabbedPaneUI
- 参数
-
tabPlacement
- 标签位置 -
tabIndex
- 选项卡索引 -
isSelected
- 选择状态 - 结果
- 标签标签移位x
-
getTabLabelShiftY
protected int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
返回标签标签shift y。- 重写:
-
getTabLabelShiftY
在BasicTabbedPaneUI
- 参数
-
tabPlacement
- 标签位置 -
tabIndex
- 选项卡索引 -
isSelected
- 选择状态 - 结果
- 标签标签移位y
-
update
public void update(Graphics g, JComponent c)
通知此UI代理重新绘制指定的组件。 该方法绘制组件背景,然后调用paint(SynthContext,Graphics)
方法。通常,此方法不需要被子类覆盖。 所有Look和Feel渲染代码应该在
paint
方法中。- 重写:
-
update
在ComponentUI
- 参数
-
g
- 用于绘画的Graphics
对象 -
c
- 被绘的部件 - 另请参见:
-
paint(SynthContext,Graphics)
-
getBaseline
protected int getBaseline(int tab)
返回指定选项卡的基线。- 重写:
-
getBaseline
在BasicTabbedPaneUI
- 参数
-
tab
- 获取基准的标签索引 - 结果
- 基线或值<0表示没有合理的基线
-
paintBorder
public void paintBorder(SynthContext context, Graphics g, int x, int y, int w, int h)
画边框- Specified by:
-
paintBorder
在接口SynthUI
- 参数
-
context
- 组件上下文 -
g
-Graphics
上画 -
x
- X坐标 -
y
- Y坐标 -
w
- 边框的宽度 -
h
- 边框的高度
-
paint
public void paint(Graphics g, JComponent c)
根据外观和外观绘制指定的组件。Synth Look and Feel不使用此方法。 绘画由
paint(SynthContext,Graphics)
处理。- 重写:
-
paint
在BasicTabbedPaneUI
- 参数
-
g
- 用于绘画的Graphics
对象 -
c
- 正在涂漆的组件 - 另请参见:
-
paint(SynthContext,Graphics)
-
paint
protected void paint(SynthContext context, Graphics g)
绘制指定的组件。- 参数
-
context
- 正在绘制的组件的上下文 -
g
- 用于绘画的Graphics
对象 - 另请参见:
-
update(Graphics,JComponent)
-
paintTabArea
protected void paintTabArea(Graphics g, int tabPlacement, int selectedIndex)
描述从类别复制:BasicTabbedPaneUI
绘制标签区域中的选项卡。 由paint()调用。 图形参数必须是有效的Graphics
对象。 标签位置可以是:JTabbedPane.TOP
,JTabbedPane.BOTTOM
,JTabbedPane.LEFT
,或JTabbedPane.RIGHT
。 所选索引必须是有效的选项卡窗格选项卡索引(0至选项卡计数-1(含)),如果当前未选择任何选项卡,则为-1。 未指定无效参数的处理。- 重写:
-
paintTabArea
中的BasicTabbedPaneUI
- 参数
-
g
- 用于呈现的图形对象 -
tabPlacement
- JTabbedPane中选项卡的位置 -
selectedIndex
- 所选组件的选项卡索引
-
setRolloverTab
protected void setRolloverTab(int index)
将鼠标目前的标签设置为index
。 如果鼠标不再位于任何选项卡上,则index
将为-1。 不进行任何检查,以确保传入的索引中标识有效的选项卡。- 重写:
-
setRolloverTab
中的BasicTabbedPaneUI
- 参数
-
index
- 鼠标结束的标签索引。
-
calculateMaxTabHeight
protected int calculateMaxTabHeight(int tabPlacement)
计算最大标签高度。- 重写:
-
calculateMaxTabHeight
在BasicTabbedPaneUI
- 参数
-
tabPlacement
- 选项卡的位置(左,右,下,上) - 结果
- 最大标签高度
-
calculateTabWidth
protected int calculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics)
计算标签宽度。- 重写:
-
calculateTabWidth
在BasicTabbedPaneUI
- 参数
-
tabPlacement
- 选项卡的位置(左,右,底部,顶部) -
tabIndex
- 相对于其他选项卡的选项卡的索引 -
metrics
- 字体指标 - 结果
- 标签宽度
-
calculateMaxTabWidth
protected int calculateMaxTabWidth(int tabPlacement)
计算最大标签宽度。- 重写:
-
calculateMaxTabWidth
在BasicTabbedPaneUI
- 参数
-
tabPlacement
- 选项卡的位置(左,右,下,上) - 结果
- 最大标签宽度
-
getTabInsets
protected Insets getTabInsets(int tabPlacement, int tabIndex)
返回标签插入。- 重写:
-
getTabInsets
在BasicTabbedPaneUI
- 参数
-
tabPlacement
- 选项卡的位置(左,右,下,上) -
tabIndex
- 选项卡索引 - 结果
- 标签插入
-
getFontMetrics
protected FontMetrics getFontMetrics()
返回字体指标。- 重写:
-
getFontMetrics
在BasicTabbedPaneUI
- 结果
- 字体指标
-
createLayoutManager
protected LayoutManager createLayoutManager()
调用installUI
创建一个布局管理器对象来管理JTabbedPane
。 被覆盖以创建TabbedPaneLayout子类,它考虑到tabOverlap。- 重写:
-
createLayoutManager
在BasicTabbedPaneUI
- 结果
- 布局管理器对象
- 另请参见:
-
BasicTabbedPaneUI.TabbedPaneLayout
,JTabbedPane.getTabLayoutPolicy()
-
-