java.lang.Object javax.swing.plaf.ComponentUI javax.swing.plaf.ScrollBarUI javax.swing.plaf.basic.BasicScrollBarUI
public class BasicScrollBarUI
基本外观的 ScrollBarUI 的实现
嵌套类摘要 | |
---|---|
protected class |
BasicScrollBarUI.ArrowButtonListener 光标键的侦听器。 |
protected class |
BasicScrollBarUI.ModelListener 侦听模型更改的侦听器。 |
class |
BasicScrollBarUI.PropertyChangeHandler |
protected class |
BasicScrollBarUI.ScrollListener 在 ScrollPane 中发起的滚动事件的侦听器。 |
protected class |
BasicScrollBarUI.TrackListener 跟踪鼠标拖动。 |
字段摘要 | |
---|---|
protected BasicScrollBarUI.ArrowButtonListener |
buttonListener |
protected JButton |
decrButton |
protected static int |
DECREASE_HIGHLIGHT |
protected JButton |
incrButton |
protected static int |
INCREASE_HIGHLIGHT |
protected boolean |
isDragging |
protected Dimension |
maximumThumbSize |
protected Dimension |
minimumThumbSize |
protected BasicScrollBarUI.ModelListener |
modelListener |
protected static int |
NO_HIGHLIGHT |
protected PropertyChangeListener |
propertyChangeListener |
protected JScrollBar |
scrollbar |
protected BasicScrollBarUI.ScrollListener |
scrollListener |
protected Timer |
scrollTimer |
protected Color |
thumbColor |
protected Color |
thumbDarkShadowColor |
protected Color |
thumbHighlightColor |
protected Color |
thumbLightShadowColor |
protected Rectangle |
thumbRect |
protected Color |
trackColor |
protected int |
trackHighlight |
protected Color |
trackHighlightColor |
protected BasicScrollBarUI.TrackListener |
trackListener |
protected Rectangle |
trackRect |
从接口 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 |
构造方法摘要 | |
---|---|
BasicScrollBarUI() |
方法摘要 | |
---|---|
void |
addLayoutComponent(String name, Component child) 如果布局管理器使用每组件字符串,则将组件 comp 添加到布局,并将它与 name 指定的字符串关联。 |
protected void |
configureScrollBarColors() |
protected BasicScrollBarUI.ArrowButtonListener |
createArrowButtonListener() |
protected JButton |
createDecreaseButton(int orientation) |
protected JButton |
createIncreaseButton(int orientation) |
protected BasicScrollBarUI.ModelListener |
createModelListener() |
protected PropertyChangeListener |
createPropertyChangeListener() |
protected BasicScrollBarUI.ScrollListener |
createScrollListener() |
protected BasicScrollBarUI.TrackListener |
createTrackListener() |
static ComponentUI |
createUI(JComponent c) |
Dimension |
getMaximumSize(JComponent c) 返回指定组件的适合外观的最大大小。 |
protected Dimension |
getMaximumThumbSize() 返回 thumb 的最大可接受大小。 |
protected Dimension |
getMinimumThumbSize() 返回 thumb 的最小可接受大小。 |
Dimension |
getPreferredSize(JComponent c) 垂直滚动条的首选宽度是(非 null )递增/递减按钮的首选宽度的最大值,也是 thumb 的最小宽度。 |
boolean |
getSupportsAbsolutePositioning() 指示用户是否可以利用鼠标动作(通常使用中间的鼠标按键)来绝对定位 thumb。 |
protected Rectangle |
getThumbBounds() 返回 thumb 的当前大小/位置。 |
protected Rectangle |
getTrackBounds() 返回滑道的当前边界,即递增和递减按钮之间的空间(减去 insets)。 |
protected void |
installComponents() |
protected void |
installDefaults() |
protected void |
installKeyboardActions() |
protected void |
installListeners() |
void |
installUI(JComponent c) 配置指定组件,使其适合外观。 |
boolean |
isThumbRollover() 如果鼠标当前位于 thumb 上,则返回 true。 |
void |
layoutContainer(Container scrollbarContainer) 布置指定容器。 |
protected void |
layoutHScrollbar(JScrollBar sb) |
protected void |
layoutVScrollbar(JScrollBar sb) |
Dimension |
minimumLayoutSize(Container scrollbarContainer) 给定指定容器所包含的组件,计算该容器的最小大小维数。 |
void |
paint(Graphics g, JComponent c) 绘制指定组件,使其适合外观。 |
protected void |
paintDecreaseHighlight(Graphics g) |
protected void |
paintIncreaseHighlight(Graphics g) |
protected void |
paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) |
protected void |
paintTrack(Graphics g, JComponent c, Rectangle trackBounds) |
Dimension |
preferredLayoutSize(Container scrollbarContainer) 给定指定容器所包含的组件,计算该容器的首选大小维数。 |
void |
removeLayoutComponent(Component child) 从布局移除指定组件。 |
protected void |
scrollByBlock(int direction) |
protected void |
scrollByUnit(int direction) |
protected void |
setThumbBounds(int x, int y, int width, int height) 设置 thumb 的边界并强制进行包括新旧 thumbBounds 在内的重绘。 |
protected void |
setThumbRollover(boolean active) 设置鼠标当前是否位于 thumb 上。 |
protected void |
uninstallComponents() |
protected void |
uninstallDefaults() |
protected void |
uninstallKeyboardActions() |
protected void |
uninstallListeners() |
void |
uninstallUI(JComponent c) 在 installUI 期间,在指定组件上反向执行的配置操作。 |
从类 javax.swing.plaf.ComponentUI 继承的方法 |
---|
contains, getAccessibleChild, getAccessibleChildrenCount, getBaseline, getBaselineResizeBehavior, getMinimumSize, update |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected Dimension minimumThumbSize
protected Dimension maximumThumbSize
protected Color thumbHighlightColor
protected Color thumbLightShadowColor
protected Color thumbDarkShadowColor
protected Color thumbColor
protected Color trackColor
protected Color trackHighlightColor
protected JScrollBar scrollbar
protected JButton incrButton
protected JButton decrButton
protected boolean isDragging
protected BasicScrollBarUI.TrackListener trackListener
protected BasicScrollBarUI.ArrowButtonListener buttonListener
protected BasicScrollBarUI.ModelListener modelListener
protected Rectangle thumbRect
protected Rectangle trackRect
protected int trackHighlight
protected static final int NO_HIGHLIGHT
protected static final int DECREASE_HIGHLIGHT
protected static final int INCREASE_HIGHLIGHT
protected BasicScrollBarUI.ScrollListener scrollListener
protected PropertyChangeListener propertyChangeListener
protected Timer scrollTimer
构造方法详细信息 |
---|
public BasicScrollBarUI()
方法详细信息 |
---|
public static ComponentUI createUI(JComponent c)
protected void configureScrollBarColors()
public void installUI(JComponent c)
ComponentUI
复制的描述
ComponentUI
实例将作为 UI 委托安装在指定组件上时,可调用此方法。此方法应该为外观完整地配置组件,包括以下方面:
LayoutManager
。 PropertyChangeListener
。
ComponentUI
中的
installUI
c
- 将安装此 UI 委托的组件
ComponentUI.uninstallUI(javax.swing.JComponent)
,
JComponent.setUI(javax.swing.plaf.ComponentUI)
,
JComponent.updateUI()
public void uninstallUI(JComponent c)
ComponentUI
复制的描述
installUI
期间,在指定组件上反向执行的配置操作。当此
UIComponent
实例将作为 UI 委托从指定组件上移除时,可调用此方法。此方法应该取消在
installUI
中执行的配置操作,非常小心地使
JComponent
实例处于某种洁净状态(没有额外的侦听器、没有特定于外观的属性对象等等)。配置内容应该包括以下方面:
ComponentUI
中的
uninstallUI
c
- 从中移除此 UI 委托的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
ComponentUI.installUI(javax.swing.JComponent)
,
JComponent.updateUI()
protected void installDefaults()
protected void installComponents()
protected void uninstallComponents()
protected void installListeners()
protected void installKeyboardActions()
protected void uninstallKeyboardActions()
protected void uninstallListeners()
protected void uninstallDefaults()
protected BasicScrollBarUI.TrackListener createTrackListener()
protected BasicScrollBarUI.ArrowButtonListener createArrowButtonListener()
protected BasicScrollBarUI.ModelListener createModelListener()
protected BasicScrollBarUI.ScrollListener createScrollListener()
protected PropertyChangeListener createPropertyChangeListener()
protected void setThumbRollover(boolean active)
active
- 为 true 指示 thumb 当前处于激活状态。
public boolean isThumbRollover()
public void paint(Graphics g, JComponent c)
ComponentUI
复制的描述
ComponentUI.update
方法中调用此方法。子类应该重写此方法并使用指定
Graphics
对象来呈现组件的内容。
ComponentUI
中的
paint
g
- 将在其中进行绘制的
Graphics
上下文
c
- 将绘制的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
public Dimension getPreferredSize(JComponent c)
null
)递增/递减按钮的首选宽度的最大值,也是 thumb 的最小宽度。首选高度是相同部分的首选高度之和。水平滚动条的首选大小的基础与此类似。
preferredSize
仅计算一次,此方法的后续调用仅返回缓存的大小。
ComponentUI
中的
getPreferredSize
c
- 委托此方法的
JScrollBar