Module java.desktop

Class BasicSliderUI

直接已知的子类:
MetalSliderUI, SynthSliderUI

public class BasicSliderUI extends SliderUI
SliderUI的基本L&F实现。
  • Field Details

    • POSITIVE_SCROLL

      public static final int POSITIVE_SCROLL
      正滚动
      参见:
    • NEGATIVE_SCROLL

      public static final int NEGATIVE_SCROLL
      负滚动
      参见:
    • MIN_SCROLL

      public static final int MIN_SCROLL
      最小滚动
      参见:
    • MAX_SCROLL

      public static final int MAX_SCROLL
      最大滚动
      参见:
    • scrollTimer

      protected Timer scrollTimer
      滚动计时器
    • slider

      protected JSlider slider
      滑块
    • focusInsets

      protected Insets focusInsets
      焦点插图
    • insetCache

      protected Insets insetCache
      插图缓存
    • leftToRightCache

      protected boolean leftToRightCache
      从左到右的缓存
    • focusRect

      protected Rectangle focusRect
      焦点矩形
    • contentRect

      protected Rectangle contentRect
      内容矩形
    • labelRect

      protected Rectangle labelRect
      标签矩形
    • tickRect

      protected Rectangle tickRect
      刻度矩形
    • trackRect

      protected Rectangle trackRect
      轨道矩形
    • thumbRect

      protected Rectangle thumbRect
      拇指矩形
    • trackBuffer

      protected int trackBuffer
      轨道距控件边缘的距离
    • trackListener

      protected BasicSliderUI.TrackListener trackListener
      轨道监听器
    • changeListener

      protected ChangeListener changeListener
      更改监听器
    • componentListener

      protected ComponentListener componentListener
      组件监听器
    • focusListener

      protected FocusListener focusListener
      焦点监听器
    • scrollListener

      protected BasicSliderUI.ScrollListener scrollListener
      滚动监听器
    • propertyChangeListener

      protected PropertyChangeListener propertyChangeListener
      属性更改监听器
  • Constructor Details

    • BasicSliderUI

      public BasicSliderUI()
      构造一个BasicSliderUI
    • BasicSliderUI

      public BasicSliderUI(JSlider b)
      构造一个BasicSliderUI
      参数:
      b - 一个滑块
  • Method Details

    • getShadowColor

      protected Color getShadowColor()
      返回阴影颜色。
      返回:
      阴影颜色
    • getHighlightColor

      protected Color getHighlightColor()
      返回高亮颜色。
      返回:
      高亮颜色
    • getFocusColor

      protected Color getFocusColor()
      返回焦点颜色。
      返回:
      焦点颜色
    • isDragging

      protected boolean isDragging()
      如果用户正在拖动滑块,则返回true。
      返回:
      如果用户正在拖动滑块,则返回true
      自1.5起
    • createUI

      public static ComponentUI createUI(JComponent b)
      创建一个UI。
      参数:
      b - 一个组件
      返回:
      一个UI
    • installUI

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

      public void uninstallUI(JComponent c)
      卸载一个UI。
      覆盖:
      uninstallUI 在类 ComponentUI
      参数:
      c - 一个组件
      参见:
    • installDefaults

      protected void installDefaults(JSlider slider)
      安装默认值。
      参数:
      slider - 一个滑块
    • uninstallDefaults

      protected void uninstallDefaults(JSlider slider)
      卸载默认值。
      参数:
      slider - 一个滑块
    • createTrackListener

      protected BasicSliderUI.TrackListener createTrackListener(JSlider slider)
      创建一个轨道监听器。
      参数:
      slider - 滑块
      返回:
      轨迹监听器
    • createChangeListener

      protected ChangeListener createChangeListener(JSlider slider)
      创建一个变化监听器。
      参数:
      slider - 滑块
      返回:
      变化监听器
    • createComponentListener

      protected ComponentListener createComponentListener(JSlider slider)
      创建一个组合监听器。
      参数:
      slider - 滑块
      返回:
      组合监听器
    • createFocusListener

      protected FocusListener createFocusListener(JSlider slider)
      创建一个焦点监听器。
      参数:
      slider - 滑块
      返回:
      焦点监听器
    • createScrollListener

      protected BasicSliderUI.ScrollListener createScrollListener(JSlider slider)
      创建一个滚动监听器。
      参数:
      slider - 滑块
      返回:
      滚动监听器
    • createPropertyChangeListener

      protected PropertyChangeListener createPropertyChangeListener(JSlider slider)
      创建一个属性更改监听器。
      参数:
      slider - 滑块
      返回:
      属性更改监听器
    • installListeners

      protected void installListeners(JSlider slider)
      安装监听器。
      参数:
      slider - 滑块
    • uninstallListeners

      protected void uninstallListeners(JSlider slider)
      卸载监听器。
      参数:
      slider - 滑块
    • installKeyboardActions

      protected void installKeyboardActions(JSlider slider)
      安装键盘操作。
      参数:
      slider - 滑块
    • uninstallKeyboardActions

      protected void uninstallKeyboardActions(JSlider slider)
      卸载键盘操作。
      参数:
      slider - 滑块
    • getBaseline

      public int getBaseline(JComponent c, int width, int height)
      返回基线。
      覆盖:
      getBaseline 在类 ComponentUI
      参数:
      c - 请求基线的JComponent
      width - 获取基线的宽度
      height - 获取基线的高度
      返回:
      基线或值< 0,表示没有合理的基线
      抛出:
      NullPointerException - 如果cnull
      IllegalArgumentException - 如果宽度或高度< 0
      自1.6起:
      1.6
      参见:
    • getBaselineResizeBehavior

      public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
      返回一个枚举,指示组件的基线随大小变化而变化的方式。
      覆盖:
      getBaselineResizeBehavior 在类 ComponentUI
      参数:
      c - 要返回基线调整行为的JComponent
      返回:
      一个枚举,指示基线随组件大小变化而变化的方式
      抛出:
      NullPointerException - 如果cnull
      自1.6起:
      1.6
      参见:
    • labelsHaveSameBaselines

      protected boolean labelsHaveSameBaselines()
      如果标签表中的所有标签具有相同的基线,则返回true。
      返回:
      如果标签表中的所有标签具有相同的基线,则返回true
      自1.6起:
      1.6
    • getPreferredHorizontalSize

      public Dimension getPreferredHorizontalSize()
      返回首选水平大小。
      返回:
      首选水平大小
    • getPreferredVerticalSize

      public Dimension getPreferredVerticalSize()
      返回首选垂直大小。
      返回:
      首选垂直大小
    • getMinimumHorizontalSize

      public Dimension getMinimumHorizontalSize()
      返回最小水平大小。
      返回:
      最小水平大小
    • getMinimumVerticalSize

      public Dimension getMinimumVerticalSize()
      返回最小垂直大小。
      返回:
      最小垂直大小
    • getPreferredSize

      public Dimension getPreferredSize(JComponent c)
      返回首选大小。
      覆盖:
      getPreferredSize 在类 ComponentUI
      参数:
      c - 一个组件
      返回:
      首选大小
      参见:
    • getMinimumSize

      public Dimension getMinimumSize(JComponent c)
      返回最小大小。
      覆盖:
      getMinimumSize 在类 ComponentUI
      参数:
      c - 一个组件
      返回:
      最小大小
      参见:
    • getMaximumSize

      public Dimension getMaximumSize(JComponent c)
      返回最大大小。
      覆盖:
      getMaximumSize 在类 ComponentUI
      参数:
      c - 一个组件
      返回:
      最大大小
      参见:
    • calculateGeometry

      protected void calculateGeometry()
      计算几何。
    • calculateFocusRect

      protected void calculateFocusRect()
      计算焦点矩形。
    • calculateThumbSize

      protected void calculateThumbSize()
      计算拇指大小矩形。
    • calculateContentRect

      protected void calculateContentRect()
      计算内容矩形。
    • calculateThumbLocation

      protected void calculateThumbLocation()
      计算拇指位置。
    • calculateTrackBuffer

      protected void calculateTrackBuffer()
      计算轨迹缓冲区。
    • calculateTrackRect

      protected void calculateTrackRect()
      计算轨迹矩形。
    • getTickLength

      protected int getTickLength()
      获取水平滑块的刻度区域高度和垂直滑块的刻度区域宽度。BasicSliderUI使用返回的值来确定刻度区域矩形。如果要为刻度留出一些空间,请使其比所需的更大,并在paintTicks()中远离边缘绘制刻度。
      返回:
      一个整数,表示水平滑块的刻度区域高度,以及垂直滑块的刻度区域宽度
    • calculateTickRect

      protected void calculateTickRect()
      计算刻度矩形。
    • calculateLabelRect

      protected void calculateLabelRect()
      计算标签矩形。
    • getThumbSize

      protected Dimension getThumbSize()
      返回拇指大小。
      返回:
      拇指大小
    • getWidthOfWidestLabel

      protected int getWidthOfWidestLabel()
      返回最宽标签的宽度。
      返回:
      最宽标签的宽度
    • getHeightOfTallestLabel

      protected int getHeightOfTallestLabel()
      返回最高标签的高度。
      返回:
      最高标签的高度
    • getWidthOfHighValueLabel

      protected int getWidthOfHighValueLabel()
      返回最高值标签的宽度。
      返回:
      最高值标签的宽度
    • getWidthOfLowValueLabel

      protected int getWidthOfLowValueLabel()
      返回最低值标签的宽度。
      返回:
      最低值标签的宽度
    • getHeightOfHighValueLabel

      protected int getHeightOfHighValueLabel()
      返回最高值标签的高度。
      返回:
      最高值标签的高度
    • getHeightOfLowValueLabel

      protected int getHeightOfLowValueLabel()
      返回最低值标签的高度。
      返回:
      最低值标签的高度
    • drawInverted

      protected boolean drawInverted()
      绘制反转。
      返回:
      反转性
    • getHighestValue

      protected Integer getHighestValue()
      返回标签表中具有条目的最大值。
      返回:
      标签表中具有条目的最大值,或null。
      自1.6起:
      1.6
    • getLowestValue

      protected Integer getLowestValue()
      返回标签表中具有条目的最小值。
      返回:
      标签表中具有条目的最小值,或null。
      自1.6起:
      1.6
    • getLowestValueLabel

      protected Component getLowestValueLabel()
      返回与标签表中最高滑块值对应的标签。
      返回:
      与标签表中最高滑块值对应的标签
      参见:
    • getHighestValueLabel

      protected Component getHighestValueLabel()
      返回与标签表中最低滑块值对应的标签。
      返回:
      与标签表中最低滑块值对应的标签
      参见:
    • recalculateIfInsetsChanged

      protected void recalculateIfInsetsChanged()
      如果插入发生更改,则重新计算插入。
    • recalculateIfOrientationChanged

      protected void recalculateIfOrientationChanged()
      如果方向发生更改,则重新计算方向。
    • paintFocus

      public void paintFocus(Graphics g)
      绘制焦点。
      参数:
      g - 图形
    • paintTrack

      public void paintTrack(Graphics g)
      绘制轨道。
      参数:
      g - 图形
    • paintTicks

      public void paintTicks(Graphics g)
      绘制刻度。
      参数:
      g - 图形
    • paintMinorTickForHorizSlider

      protected void paintMinorTickForHorizSlider(Graphics g, Rectangle tickBounds, int x)
      绘制水平滑块的次刻度。
      参数:
      g - 图形
      tickBounds - 刻度边界
      x - x坐标
    • paintMajorTickForHorizSlider

      protected void paintMajorTickForHorizSlider(Graphics g, Rectangle tickBounds, int x)
      绘制水平滑块的主刻度。
      参数:
      g - 图形
      tickBounds - 刻度边界
      x - x坐标
    • paintMinorTickForVertSlider

      protected void paintMinorTickForVertSlider(Graphics g, Rectangle tickBounds, int y)
      绘制垂直滑块的次刻度。
      参数:
      g - 图形
      tickBounds - 刻度边界
      y - y坐标
    • paintMajorTickForVertSlider

      protected void paintMajorTickForVertSlider(Graphics g, Rectangle tickBounds, int y)
      绘制垂直滑块的主刻度。
      参数:
      g - 图形
      tickBounds - 刻度边界
      y - y坐标
    • paintLabels

      public void paintLabels(Graphics g)
      绘制标签。
      参数:
      g - 图形
    • paintHorizontalLabel

      protected void paintHorizontalLabel(Graphics g, int value, Component label)
      为标签表中的每个标签调用。用于绘制水平滑块的标签。图形已经被转换为labelRect.y。
      参数:
      g - 用于绘制的图形上下文
      value - 滑块的值
      label - 需要绘制的标签表中的组件标签
      参见:
    • paintVerticalLabel

      protected void paintVerticalLabel(Graphics g, int value, Component label)
      为标签表中的每个标签调用。用于绘制垂直滑块的标签。图形已经被转换为labelRect.x。
      参数:
      g - 用于绘制的图形上下文
      value - 滑块的值
      label - 需要绘制的标签表中的组件标签
      参见:
    • paintThumb

      public void paintThumb(Graphics g)
      绘制滑块。
      参数:
      g - 图形
    • setThumbLocation

      public void setThumbLocation(int x, int y)
      设置滑块位置。
      参数:
      x - x坐标
      y - y坐标
    • scrollByBlock

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

      public void scrollByUnit(int direction)
      按单位滚动。
      参数:
      direction - 方向
    • scrollDueToClickInTrack

      protected void scrollDueToClickInTrack(int dir)
      当在轨道中检测到鼠标按下而不是在滑块中时调用此函数。默认行为是按块滚动。您可以重写此方法以阻止滚动或添加额外行为。
      参数:
      dir - 滚动的方向和块数
    • xPositionForValue

      protected int xPositionForValue(int value)
      返回值的x位置。
      参数:
      value - 值
      返回:
      值的x位置
    • yPositionForValue

      protected int yPositionForValue(int value)
      返回值的y位置。
      参数:
      value - 值
      返回:
      值的y位置
    • yPositionForValue

      protected int yPositionForValue(int value, int trackY, int trackHeight)
      返回指定值的y位置。不对参数进行检查。特别是如果trackHeight为负数,则可能会出现未定义的结果。
      参数:
      value - 要获取位置的滑块值
      trackY - 轨道的y起点
      trackHeight - 轨道的高度
      返回:
      滑块指定值的y位置
      自:
      1.6
    • valueForYPosition

      public int valueForYPosition(int yPos)
      返回y位置的值。如果yPos超出轨道的底部或顶部,此方法将将值设置为滑块的最小值或最大值,具体取决于滑块是否倒置。
      参数:
      yPos - 沿y轴的滑块位置
      返回:
      y位置的值
    • valueForXPosition

      public int valueForXPosition(int xPos)
      返回x位置的值。如果xPos超出轨道的左侧或右侧,此方法将将值设置为滑块的最小值或最大值,具体取决于滑块是否倒置。
      参数:
      xPos - 沿x轴的滑块位置
      返回:
      x位置的值