- 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 intcalculateMaxTabHeight(int tabPlacement)计算最大标签高度。protected intcalculateMaxTabWidth(int tabPlacement)计算最大标签宽度。protected intcalculateTabWidth(int tabPlacement, int tabIndex, FontMetrics metrics)计算标签宽度。protected LayoutManagercreateLayoutManager()调用installUI创建一个布局管理器对象来管理JTabbedPane。protected MouseListenercreateMouseListener()创建一个鼠标监听器。protected JButtoncreateScrollButton(int direction)创建并返回一个JButton,它将向用户提供一种在特定方向滚动选项卡的方法。static ComponentUIcreateUI(JComponent c)为给定的组件创建一个新的UI对象。protected intgetBaseline(int tab)返回指定选项卡的基线。SynthContextgetContext(JComponent c)返回指定组件的上下文。protected FontMetricsgetFontMetrics()返回字体指标。protected InsetsgetTabInsets(int tabPlacement, int tabIndex)返回标签插入。protected intgetTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)返回标签移位x。protected intgetTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)返回标签标签shift y。protected voidinstallDefaults()安装默认值。protected voidinstallListeners()安装侦听器voidpaint(Graphics g, JComponent c)根据外观和外观绘制指定的组件。protected voidpaint(SynthContext context, Graphics g)绘制指定的组件。voidpaintBorder(SynthContext context, Graphics g, int x, int y, int w, int h)画边框protected voidpaintTabArea(Graphics g, int tabPlacement, int selectedIndex)绘制标签区域中的选项卡。voidpropertyChange(PropertyChangeEvent e)当绑定属性更改时,此方法将被调用。protected voidsetRolloverTab(int index)将鼠标目前的标签设置为index。protected voiduninstallDefaults()卸载默认值。protected voiduninstallListeners()卸载侦听器。voidupdate(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()
-
-