Module java.desktop

Class BasicProgressBarUI

直接已知的子类:
MetalProgressBarUI, SynthProgressBarUI

public class BasicProgressBarUI extends ProgressBarUI
ProgressBarUI的基本L&F实现。
  • Field Details

    • progressBar

      protected JProgressBar progressBar
      JProgressBar的实例。
    • changeListener

      protected ChangeListener changeListener
      ChangeListener的实例。
    • boxRect

      protected Rectangle boxRect
      用于保存要绘制的弹跳框的位置和大小(由getBox返回)。
      自1.5版本起:
      1.5
  • Constructor Details

    • BasicProgressBarUI

      public BasicProgressBarUI()
      构造一个BasicProgressBarUI。
  • Method Details

    • createUI

      public static ComponentUI createUI(JComponent x)
      返回一个新的BasicProgressBarUI实例。
      参数:
      x - 一个组件
      返回:
      一个新的BasicProgressBarUI实例
    • installDefaults

      protected void installDefaults()
      安装默认属性。
    • uninstallDefaults

      protected void uninstallDefaults()
      卸载默认属性。
    • installListeners

      protected void installListeners()
      注册监听器。
    • startAnimationTimer

      protected void startAnimationTimer()
      启动动画线程,如有必要创建并初始化它。当不确定的进度条应该开始动画时调用此方法。可能的原因包括:
      • 进度条是确定的并且变得可显示
      • 进度条是可显示的并且变得确定
      • 进度条是可显示的并且确定的,并且安装了此UI
      如果您实现自己的动画线程,必须重写此方法。
      自1.4版本起:
      1.4
      参见:
    • stopAnimationTimer

      protected void stopAnimationTimer()
      停止动画线程。当不确定的动画应该停止时调用此方法。可能的原因包括:
      • 进度条变为确定的
      • 进度条不再是可显示层次结构的一部分
      • 此UI被卸载
      如果您实现自己的动画线程,必须重写此方法。
      自1.4版本起:
      1.4
      参见:
    • uninstallListeners

      protected void uninstallListeners()
      移除此对象安装的所有监听器。
    • 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
      参见:
    • getPreferredInnerHorizontal

      protected Dimension getPreferredInnerHorizontal()
      返回水平JProgressBar的首选大小。
      返回:
      水平JProgressBar的首选大小
    • getPreferredInnerVertical

      protected Dimension getPreferredInnerVertical()
      返回垂直JProgressBar的首选大小。
      返回:
      垂直JProgressBar的首选大小
    • getSelectionForeground

      protected Color getSelectionForeground()
      "selectionForeground"是在进度条的填充区域上绘制文本时的颜色。
      返回:
      选定前景的颜色
    • getSelectionBackground

      protected Color getSelectionBackground()
      "selectionBackground"是在进度条的未填充区域上绘制文本时的颜色。
      返回:
      选定背景的颜色
    • getCellLength

      protected int getCellLength()
      返回要在进度条中呈现的每个单元格/单元的宽度(如果是水平的)或高度(如果是垂直的)。但是,为了简化文本呈现和美学考虑,当呈现进度字符串时,此函数将返回1。
      返回:
      表示单元间距的值
      参见:
    • setCellLength

      protected void setCellLength(int cellLen)
      设置单元长度。
      参数:
      cellLen - 新的单元长度
    • getCellSpacing

      protected int getCellSpacing()
      返回进度条中每个单元格/单元之间的间距。但是,为了简化文本呈现和美学考虑,当呈现进度字符串时,此函数将返回0。
      返回:
      表示单元间距的值
      参见:
    • setCellSpacing

      protected void setCellSpacing(int cellSpace)
      设置单元间距。
      参数:
      cellSpace - 新的单元间距
    • getAmountFull

      protected int getAmountFull(Insets b, int width, int height)
      根据从模型中获取的完成百分比确定应该填充多少进度条的量。这是一个常见操作,因此将其抽象出来。它假设您的进度条是线性的。也就是说,如果您正在制作一个圆形进度指示器,您将需要重写此方法。
      参数:
      b - 插图
      width - 一个宽度
      height - 一个高度
      返回:
      应该填充的进度条的量
    • paint

      public void paint(Graphics g, JComponent c)
      将绘制委托给两种方法之一:paintDeterminate或paintIndeterminate。
      覆盖:
      paint 在类 ComponentUI
      参数:
      g - 用于绘制的Graphics上下文
      c - 正在绘制的组件;通常会忽略此参数,但如果UI对象是无状态的并且由多个组件共享,则可能会使用
      参见:
    • getBox

      protected Rectangle getBox(Rectangle r)
      存储当前动画索引处将绘制的弹跳框的位置和大小,并将其返回为r。在此类的paintIndeterminate实现中执行的绘制中添加内容的子类 -- 例如,绘制弹跳框周围的轮廓 -- 可以使用此方法获取刚刚绘制的弹跳框的位置。通过覆盖此方法,您可以完全控制弹跳框的大小和位置,而无需重新实现paintIndeterminate
      参数:
      r - 要修改的Rectangle实例;可以为null
      返回:
      如果不应绘制框,则返回null;否则,返回传入的矩形(如果非空)或新矩形
      自:
      1.4
      参见:
    • getBoxLength

      protected int getBoxLength(int availableLength, int otherDimension)
      返回要绘制的“弹跳框”的长度。此方法由paintIndeterminate的默认实现调用,以获取框的宽度(如果进度条是水平的)或高度(如果是垂直的)。例如:
      boxRect.width = getBoxLength(componentInnards.width,
                                   componentInnards.height);
       
      参数:
      availableLength - 弹跳框可移动的空间量;例如,对于水平进度条,这应该是进度条的内部宽度(组件宽度减去边框)
      otherDimension - 对于水平进度条,这应该是进度条的内部高度;此值可能用于限制或确定返回值
      返回:
      正在确定的框维度的大小;必须不大于availableLength
      自:
      1.5
      参见:
    • paintIndeterminate

      protected void paintIndeterminate(Graphics g, JComponent c)
      通用绘制方法,应适用于所有线性弹跳框进度条。如果您正在制作其他类型的进度条,请覆盖此方法。
      参数:
      g - Graphics的一个实例
      c - 一个组件
      自:
      1.4
      参见:
    • paintDeterminate

      protected void paintDeterminate(Graphics g, JComponent c)
      通用绘制方法,几乎适用于所有线性、确定进度条。通过在默认表中设置一些值,应该可以很好地绘制进度条。如果您正在制作圆形或半圆形进度条,请覆盖此方法。
      参数:
      g - Graphics的一个实例
      c - 一个组件
      自:
      1.4
      参见:
    • paintString

      protected void paintString(Graphics g, int x, int y, int width, int height, int amountFull, Insets b)
      绘制进度字符串。
      参数:
      g - Graphics的一个实例
      x - 边界框的X位置
      y - 边界框的Y位置
      width - 边界框的宽度
      height - 边界框的高度
      amountFull - 填充区域的大小,取决于方向是宽度还是高度。
      b - 进度条的插图。
    • getStringPlacement

      protected Point getStringPlacement(Graphics g, String progressString, int x, int y, int width, int height)
      指定将绘制进度字符串的位置。此实现将其放在进度条的中心(在x和y方向)。如果要右对齐、左对齐、顶部对齐或底部对齐进度字符串,或者出于任何原因需要微调它,请覆盖此方法。
      参数:
      g - Graphics的一个实例
      progressString - 一个文本
      x - 一个X坐标
      y - 一个Y坐标
      width - 一个宽度
      height - 一个高度
      返回:
      将绘制进度字符串的位置
    • getMinimumSize

      public Dimension getMinimumSize(JComponent c)
      此组件的最小尺寸为10。这里的理由是每10%应至少有一个像素。
      覆盖:
      getMinimumSize 在类 ComponentUI
      参数:
      c - 正在查询其最小尺寸的组件;此参数通常会被忽略,但如果UI对象是无状态的并且由多个组件共享,则可能会使用
      返回:
      一个Dimension对象或null
      参见:
    • getAnimationIndex

      protected int getAnimationIndex()
      获取当前动画帧的索引。
      返回:
      当前动画帧的索引
      自:
      1.4
    • getFrameCount

      protected final int getFrameCount()
      返回用于不确定JProgessBar使用的完整动画循环的帧数。进度块将在整个循环期间从一端到另一端并返回。其他外观和感觉中的子类可以更改此视觉行为。
      返回:
      帧数
      自:
      1.6
    • setAnimationIndex

      protected void setAnimationIndex(int newValue)
      将当前动画帧的索引设置为指定值,并请求重新绘制进度条。不使用默认绘制代码的子类可能需要覆盖此方法以更改调用repaint方法的方式。
      参数:
      newValue - 新的动画索引;不对其值执行检查
      自:
      1.4
      参见:
    • incrementAnimationIndex

      protected void incrementAnimationIndex()
      将当前动画帧的索引设置为下一个有效值,并请求重新绘制进度条。默认情况下,下一个有效值是当前动画索引加一。如果新值太大,则此方法将索引设置为0。子类可能需要覆盖此方法以确保索引不超过特定进度条实例所需的帧数。默认动画线程每X毫秒调用此方法,其中X由“ProgressBar.repaintInterval”UI默认值指定。
      自:
      1.4
      参见: