Module java.desktop

Class BasicScrollBarUI

所有已实现的接口:
LayoutManager, SwingConstants
直接已知的子类:
MetalScrollBarUI, SynthScrollBarUI

public class BasicScrollBarUI extends ScrollBarUI implements LayoutManager, SwingConstants
基本外观和感觉的ScrollBarUI实现
  • Field Details

    • 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
      滚动计时器
    • scrollBarWidth

      protected int scrollBarWidth
      提示垂直时应该是什么宽度(水平时是高度)。
      自从:
      1.7
    • incrGap

      protected int incrGap
      增量按钮和轨道之间的距离。这可能是一个负数。如果为负数,则按钮和轨道之间将发生重叠,这对于形状按钮很有用。
      自从:
      1.7
    • decrGap

      protected int decrGap
      减量按钮和轨道之间的距离。这可能是一个负数。如果为负数,则按钮和轨道之间将发生重叠,这对于形状按钮很有用。
      自从:
      1.7
  • Constructor Details

    • BasicScrollBarUI

      public BasicScrollBarUI()
      构造一个BasicScrollBarUI
  • Method Details

    • createUI

      public static ComponentUI createUI(JComponent c)
      创建UI。
      参数:
      c - 组件
      返回:
      UI
    • configureScrollBarColors

      protected void configureScrollBarColors()
      配置滚动条颜色。
    • installUI

      public void installUI(JComponent c)
      安装UI。
      覆盖:
      installUI 在类 ComponentUI
      参数:
      c - 组件
      参见:
    • uninstallUI

      public void uninstallUI(JComponent c)
      卸载UI。
      覆盖:
      uninstallUI 在类 ComponentUI
      参数:
      c - 组件
      参见:
    • 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)
      设置鼠标当前是否位于拇指上。
      参数:
      active - True表示拇指当前处于活动状态。
      自从:
      1.5
    • isThumbRollover

      public boolean isThumbRollover()
      如果鼠标当前位于拇指上,则返回true。
      返回:
      如果滑块当前处于活动状态,则返回true
      自1.5版本起:
      1.5
    • getPreferredSize

      public Dimension getPreferredSize(JComponent c)
      垂直滚动条的首选宽度是(非null)增量/减量按钮的首选宽度的最大值,以及滑块的最小宽度。首选高度是相同部分的首选高度之和。水平滚动条的首选大小基本相似。

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

      覆盖:
      getPreferredSize 在类 ComponentUI
      参数:
      c - 将此方法委托给我们的JScrollBar
      返回:
      Basic JScrollBar的首选大小
      另请参阅:
    • getMaximumSize

      public Dimension getMaximumSize(JComponent c)
      从类中复制的描述: ComponentUI
      返回适合外观和感觉的指定组件的最大大小。如果返回null,则最大大小将由组件的布局管理器计算(这是安装了特定布局管理器的任何组件的首选方法)。此方法的默认实现调用getPreferredSize并返回该值。
      覆盖:
      getMaximumSize 在类 ComponentUI
      参数:
      c - 将此方法委托给我们的JScrollBar
      返回:
      new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
      另请参阅:
    • createDecreaseButton

      protected JButton createDecreaseButton(int orientation)
      创建一个减少按钮。
      参数:
      orientation - 方向
      返回:
      一个减少按钮
    • createIncreaseButton

      protected JButton createIncreaseButton(int orientation)
      创建一个增加按钮。
      参数:
      orientation - 方向
      返回:
      一个增加按钮
    • paintDecreaseHighlight

      protected void paintDecreaseHighlight(Graphics g)
      绘制减少突出显示。
      参数:
      g - 图形
    • paintIncreaseHighlight

      protected void paintIncreaseHighlight(Graphics g)
      绘制增加突出显示。
      参数:
      g - 图形
    • paintTrack

      protected void paintTrack(Graphics g, JComponent c, Rectangle trackBounds)
      绘制轨道。
      参数:
      g - 图形
      c - 组件
      trackBounds - 轨道边界
    • paintThumb

      protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds)
      绘制滑块。
      参数:
      g - 图形
      c - 组件
      thumbBounds - 滑块边界
    • getMinimumThumbSize

      protected Dimension getMinimumThumbSize()
      返回滑块的最小可接受大小。如果滚动条变得如此小以至于无法获得此大小,则滑块将被隐藏。

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

      返回:
      滑块的最小可接受大小。
      另请参阅:
    • getMaximumThumbSize

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

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

      返回:
      滑块的最大可接受大小。
      另请参阅:
    • addLayoutComponent

      public void addLayoutComponent(String name, Component child)
      从接口中复制的描述: LayoutManager
      如果布局管理器使用每个组件的字符串,则将组件comp添加到布局中,并将其与由name指定的字符串关联起来。
      指定者:
      addLayoutComponent 在接口 LayoutManager
      参数:
      name - 与组件关联的字符串
      child - 要添加的组件
    • removeLayoutComponent

      public void removeLayoutComponent(Component child)
      从接口中复制的描述: LayoutManager
      从布局中移除指定的组件。
      指定者:
      removeLayoutComponent 在接口 LayoutManager
      参数:
      child - 要移除的组件
    • preferredLayoutSize

      public Dimension preferredLayoutSize(Container scrollbarContainer)
      从接口中复制的描述: LayoutManager
      计算指定容器的首选大小维度,给定其包含的组件。
      指定者:
      preferredLayoutSize 在接口 LayoutManager
      参数:
      scrollbarContainer - 要布局的容器
      返回:
      容器的首选尺寸
      另请参阅:
    • minimumLayoutSize

      public Dimension minimumLayoutSize(Container scrollbarContainer)
      从接口中复制的描述: LayoutManager
      计算指定容器的最小大小维度,给定其包含的组件。
      指定者:
      minimumLayoutSize 在接口 LayoutManager
      参数:
      scrollbarContainer - 要布局的组件
      返回:
      容器的最小尺寸
      另请参阅:
    • layoutVScrollbar

      protected void layoutVScrollbar(JScrollBar sb)
      布局垂直滚动条。
      参数:
      sb - 滚动条
    • layoutHScrollbar

      protected void layoutHScrollbar(JScrollBar sb)
      布局水平滚动条。
      参数:
      sb - 滚动条
    • layoutContainer

      public void layoutContainer(Container scrollbarContainer)
      从接口中复制的描述: LayoutManager
      布局指定的容器。
      指定者:
      layoutContainer 在接口 LayoutManager
      参数:
      scrollbarContainer - 要布局的容器
    • setThumbBounds

      protected void setThumbBounds(int x, int y, int width, int height)
      设置滑块的边界并强制重绘,包括旧的thumbBounds和新的thumbBounds。
      参数:
      x - 设置滑块的x位置
      y - 设置滑块的y位置
      width - 设置滑块的宽度
      height - 设置滑块的高度
      另请参阅:
    • getThumbBounds

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

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

      返回:
      滑块的当前大小/位置。
      另请参阅:
    • getTrackBounds

      protected Rectangle getTrackBounds()
      返回轨道的当前边界,即增量和减量按钮之间的空间,减去插图。此方法返回的值在每次滚动条布局(验证)时更新。

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

      返回值:
      滚动条轨道的当前边界
      参见:
    • scrollByBlock

      protected void scrollByBlock(int direction)
      按块滚动。
      参数:
      direction - 滚动的方向
    • scrollByUnit

      protected void scrollByUnit(int direction)
      按单位滚动。
      参数:
      direction - 滚动的方向
    • getSupportsAbsolutePositioning

      public boolean getSupportsAbsolutePositioning()
      指示用户是否可以使用鼠标手势(通常是中间鼠标按钮)绝对定位滑块。
      返回值:
      如果鼠标手势可以绝对定位滑块,则为true
      自版本:
      1.5