JavaTM 2 Platform
Standard Ed. 5.0

javax.swing.plaf.basic
类 BasicScrollBarUI

java.lang.Object
  继承者 javax.swing.plaf.ComponentUI
      继承者 javax.swing.plaf.ScrollBarUI
          继承者 javax.swing.plaf.basic.BasicScrollBarUI
所有已实现的接口:
LayoutManager, SwingConstants
直接已知子类:
MetalScrollBarUI

public class BasicScrollBarUI
extends ScrollBarUI
implements LayoutManager, SwingConstants

基本外观的 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, getMinimumSize, update
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

minimumThumbSize

protected Dimension minimumThumbSize

maximumThumbSize

protected Dimension maximumThumbSize

thumbHighlightColor

protected Color thumbHighlightColor

thumbLightShadowColor

protected Color thumbLightShadowColor

thumbDarkShadowColor

protected Color thumbDarkShadowColor

thumbColor

protected Color thumbColor

trackColor

protected Color trackColor

trackHighlightColor

protected Color trackHighlightColor

scrollbar

protected JScrollBar scrollbar

incrButton

protected JButton incrButton

decrButton

protected JButton decrButton

isDragging

protected boolean isDragging

trackListener

protected BasicScrollBarUI.TrackListener trackListener

buttonListener

protected BasicScrollBarUI.ArrowButtonListener buttonListener

modelListener

protected BasicScrollBarUI.ModelListener modelListener

thumbRect

protected Rectangle thumbRect

trackRect

protected Rectangle trackRect

trackHighlight

protected int trackHighlight

NO_HIGHLIGHT

protected static final int NO_HIGHLIGHT
另请参见:
常量字段值

DECREASE_HIGHLIGHT

protected static final int DECREASE_HIGHLIGHT
另请参见:
常量字段值

INCREASE_HIGHLIGHT

protected static final int INCREASE_HIGHLIGHT
另请参见:
常量字段值

scrollListener

protected BasicScrollBarUI.ScrollListener scrollListener

propertyChangeListener

protected PropertyChangeListener propertyChangeListener

scrollTimer

protected Timer scrollTimer
构造方法详细信息

BasicScrollBarUI

public BasicScrollBarUI()
方法详细信息

createUI

public static ComponentUI createUI(JComponent c)

configureScrollBarColors

protected void configureScrollBarColors()

installUI

public void installUI(JComponent c)
从类 ComponentUI 复制的描述
配置指定组件,使其适合外观。当 ComponentUI 实例将作为 UI 委托安装在指定组件上时,可调用此方法。此方法应该为外观完整地配置组件,包括以下方面:
  1. 在组件上安装用于颜色、字体、边框、图标、不透明性等方面的所有默认属性值。只要有可能,就 应该重写由客户端程序初始化的属性值。
  2. 如有必要,可在组件上安装一个 LayoutManager
  3. 将所需的所有子组件创建/添加到组件中。
  4. 在组件上创建/安装事件侦听器。
  5. 为了检测和适当响应组件属性更改,可在组件上创建/安装一个 PropertyChangeListener
  6. 在组件上安装键盘 UI(助记符、遍历等等)。
  7. 初始化任何适当的实例数据。

覆盖:
ComponentUI 中的 installUI
参数:
c - 将安装此 UI 委托的组件
另请参见:
ComponentUI.uninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()

uninstallUI

public void uninstallUI(JComponent c)
从类 ComponentUI 复制的描述
installUI 期间,在指定组件上反向执行的配置操作。当此 UIComponent 实例将作为 UI 委托从指定组件上移除时,可调用此方法。此方法应该取消在 installUI 中执行的配置操作,非常小心地使 JComponent 实例处于某种洁净状态(没有额外的侦听器、没有特定于外观的属性对象等等)。配置内容应该包括以下方面:
  1. 从组件中移除所有 UI 设置的边框。
  2. 从组件上移除所有 UI 设置的布局管理器。
  3. 从组件中移除所有 UI 添加的子组件。
  4. 从组件中移除所有 UI 添加的事件/属性侦听器。
  5. 从组件中移除所有 UI 安装的键盘 UI。
  6. 使所有已分配的实例数据对象无效,从而允许进行 GC 操作。

覆盖:
ComponentUI 中的 uninstallUI
参数:
c - 从中移除此 UI 委托的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
另请参见:
ComponentUI.installUI(javax.swing.JComponent), JComponent.updateUI()

installDefaults

protected void installDefaults()

installComponents

protected void installComponents()

uninstallComponents

protected void uninstallComponents()

installListeners

protected void installListeners()

installKeyboardActions

protected void installKeyboardActions()

uninstallKeyboardActions

protected void uninstallKeyboardActions()

uninstallListeners

protected void uninstallListeners()

uninstallDefaults

protected void uninstallDefaults()

createTrackListener

protected BasicScrollBarUI.TrackListener createTrackListener()

createArrowButtonListener

protected BasicScrollBarUI.ArrowButtonListener createArrowButtonListener()

createModelListener

protected BasicScrollBarUI.ModelListener createModelListener()

createScrollListener

protected BasicScrollBarUI.ScrollListener createScrollListener()

createPropertyChangeListener

protected PropertyChangeListener createPropertyChangeListener()

setThumbRollover

protected void setThumbRollover(boolean active)
设置鼠标当前是否位于 thumb 上。

参数:
active - 为 true 指示 thumb 当前处于激活状态。
从以下版本开始:
1.5

isThumbRollover

public boolean isThumbRollover()
如果鼠标当前位于 thumb 上,则返回 true。

返回:
如果 thumb 当前处于激活状态,则返回 true
从以下版本开始:
1.5

paint

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)

getPreferredSize

public Dimension getPreferredSize(JComponent c)
垂直滚动条的首选宽度是(非 null)递增/递减按钮的首选宽度的最大值,也是 thumb 的最小宽度。首选高度是相同部分的首选高度之和。水平滚动条的首选大小的基础与此类似。

preferredSize 仅计算一次,此方法的后续调用仅返回缓存的大小。

覆盖:
ComponentUI 中的 getPreferredSize
参数:
c - 委托此方法的 JScrollBar
返回:
Basic JScrollBar 的首选大小
另请参见:
getMaximumSize(javax.swing.JComponent), ComponentUI.getMinimumSize(javax.swing.JComponent)

getMaximumSize

public Dimension getMaximumSize(JComponent c)
从类 ComponentUI 复制的描述
返回指定组件的适合外观的最大大小。如果返回 null,则最大大小将由组件的布局管理器计算(对于安装了特定布局管理器的组件而言,这是首选方法)。此方法的默认实现调用 getPreferredSize 并返回该值。

覆盖:
ComponentUI 中的 getMaximumSize
参数:
c - 委托此方法的 JScrollBar。
返回:
新的 Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
另请参见:
ComponentUI.getMinimumSize(javax.swing.JComponent), getPreferredSize(javax.swing.JComponent)

createDecreaseButton

protected JButton createDecreaseButton(int orientation)

createIncreaseButton

protected JButton createIncreaseButton(int orientation)

paintDecreaseHighlight

protected void paintDecreaseHighlight(Graphics g)

paintIncreaseHighlight

protected void paintIncreaseHighlight(Graphics g)

paintTrack

protected void paintTrack(Graphics g,
                          JComponent c,
                          Rectangle trackBounds)

paintThumb

protected void paintThumb(Graphics g,
                          JComponent c,
                          Rectangle thumbBounds)

getMinimumThumbSize

protected Dimension getMinimumThumbSize()
返回 thumb 的最小可接受大小。如果滚动条变得非常小,此大小不适用,则 thumb 将被隐藏。

警告:不应修改此方法返回的值,它是一个共享的静态常量。

返回:
thumb 的最小可接受大小。
另请参见:
getMaximumThumbSize()

getMaximumThumbSize

protected Dimension getMaximumThumbSize()
返回 thumb 的最大可接受大小。要创建固定大小的 thumb,需要让此方法和 getMinimumThumbSize 返回相同的值。

警告:不应修改此方法返回的值,它是一个共享的静态常量。

返回:
thumb 的最大可接受大小。
另请参见:
getMinimumThumbSize()

addLayoutComponent

public void addLayoutComponent(String name,
                               Component child)
从接口 LayoutManager 复制的描述
如果布局管理器使用每组件字符串,则将组件 comp 添加到布局,并将其与 name 指定的字符串关联。

指定者:
接口 LayoutManager 中的 addLayoutComponent
参数:
name - 要与组件关联的字符串
child - 要添加的组件

removeLayoutComponent

public void removeLayoutComponent(Component child)
从接口 LayoutManager 复制的描述
从布局移除指定组件。

指定者:
接口 LayoutManager 中的 removeLayoutComponent
参数:
child - 要移除的组件

preferredLayoutSize

public Dimension preferredLayoutSize(Container scrollbarContainer)
从接口 LayoutManager 复制的描述
给定指定容器所包含的组件,计算该容器的首选大小维数。

指定者:
接口 LayoutManager 中的 preferredLayoutSize
参数:
scrollbarContainer - 要布置的容器
另请参见:
LayoutManager.minimumLayoutSize(java.awt.Container)

minimumLayoutSize

public Dimension minimumLayoutSize(Container scrollbarContainer)
从接口 LayoutManager 复制的描述
给定指定容器所包含的组件,计算该容器的最小大小维数。

指定者:
接口 LayoutManager 中的 minimumLayoutSize
参数:
scrollbarContainer - 要布置的组件

layoutVScrollbar

protected void layoutVScrollbar(JScrollBar sb)

layoutHScrollbar

protected void layoutHScrollbar(JScrollBar sb)

layoutContainer

public void layoutContainer(Container scrollbarContainer)
从接口 LayoutManager 复制的描述
布置指定容器。

指定者:
接口 LayoutManager 中的 layoutContainer
参数:
scrollbarContainer - 要布置的容器

setThumbBounds

protected void setThumbBounds(int x,
                              int y,
                              int width,
                              int height)
设置 thumb 的边界并强制进行包括新旧 thumbBounds 在内的重绘。

另请参见:
getThumbBounds()

getThumbBounds

protected Rectangle getThumbBounds()
返回 thumb 的当前大小/位置。

警告:不应修改此方法返回的值,它是一个到实际矩形的引用,而不是一个副本。

返回:
thumb 的当前大小/位置。
另请参见:
setThumbBounds(int, int, int, int)

getTrackBounds

protected Rectangle getTrackBounds()
返回滑道的当前边界,即递增和递减按钮之间的空间(减去 insets)。每次布置滚动条时(确认后)此方法返回的值都会更新。

警告:不应修改此方法返回的值,它是一个到实际矩形的引用,而不是一个副本。

返回:
滚动条滑道的当前边界
另请参见:
layoutContainer(java.awt.Container)

scrollByBlock

protected void scrollByBlock(int direction)

scrollByUnit

protected void scrollByUnit(int direction)

getSupportsAbsolutePositioning

public boolean getSupportsAbsolutePositioning()
指示用户是否可以利用鼠标动作(通常使用中间的鼠标按键)来绝对定位 thumb。

返回:
如果鼠标运行可以绝对定位 thumb,则返回 true
从以下版本开始:
1.5

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策