- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.ProgressBarUI
-
- javax.swing.plaf.basic.BasicProgressBarUI
-
- 已知直接子类:
-
MetalProgressBarUI
,SynthProgressBarUI
public class BasicProgressBarUIextends ProgressBarUI
ProgressBarUI的基本L&F实现。
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 class
BasicProgressBarUI.ChangeHandler
该类应被视为“受保护”的内部类。
-
字段汇总
字段 变量和类型 字段 描述 protected Rectangle
boxRect
用于保存要绘制的弹跳框(由getBox返回)的位置和大小。protected ChangeListener
changeListener
ChangeListener
的实例。protected JProgressBar
progressBar
JProgressBar
的实例。
-
构造方法摘要
构造方法 构造器 描述 BasicProgressBarUI()
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 static ComponentUI
createUI(JComponent x)
返回BasicProgressBarUI
的新实例。protected int
getAmountFull(Insets b, int width, int height)
这将根据从模型中收集的完成百分比确定应填充的进度条的数量。protected int
getAnimationIndex()
获取当前动画帧的索引。int
getBaseline(JComponent c, int width, int height)
返回基线。Component.BaselineResizeBehavior
getBaselineResizeBehavior(JComponent c)
返回一个枚举,指示组件的基线如何随大小的变化而变化。protected Rectangle
getBox(Rectangle r)
存储将在r
为当前动画索引绘制的弹跳框的位置和大小,并返回r
。protected int
getBoxLength(int availableLength, int otherDimension)
返回要绘制的“弹跳框”的长度。protected int
getCellLength()
返回要在进度条中呈现的每个单元/单元的宽度(如果为HORIZONTAL)或高度(如果为VERTICAL)。protected int
getCellSpacing()
返回进度条中每个单元格/单元之间的间距。protected int
getFrameCount()
返回不确定JProgessBar使用的完整动画循环的帧数。Dimension
getMinimumSize(JComponent c)
此组件的最小大小为10。protected Dimension
getPreferredInnerHorizontal()
返回水平JProgressBar
首选大小。protected Dimension
getPreferredInnerVertical()
返回垂直JProgressBar
首选大小。protected Color
getSelectionBackground()
“selectionBackground”是在进度条的未填充区域上绘制时文本的颜色。protected Color
getSelectionForeground()
“selectionForeground”是在进度条的填充区域上绘制时文本的颜色。protected Point
getStringPlacement(Graphics g, String progressString, int x, int y, int width, int height)
指定将绘制进度字符串的位置。protected void
incrementAnimationIndex()
将当前动画帧的索引设置为下一个有效值,这将导致重新绘制进度条。protected void
installDefaults()
安装默认属性。protected void
installListeners()
注册听众。void
paint(Graphics g, JComponent c)
代表绘制为两种方法之一:paintDeterminate或paintIndeterminate。protected void
paintDeterminate(Graphics g, JComponent c)
适用于几乎所有线性,确定进度条的正确用途的涂料方法。protected void
paintIndeterminate(Graphics g, JComponent c)
适用于所有线性弹跳箱进度条的通用油漆方法。protected void
paintString(Graphics g, int x, int y, int width, int height, int amountFull, Insets b)
绘制进度字符串。protected void
setAnimationIndex(int newValue)
将当前动画帧的索引设置为指定值,并请求重新绘制进度条。protected void
setCellLength(int cellLen)
设置单元格长度。protected void
setCellSpacing(int cellSpace)
设置单元格间距。protected void
startAnimationTimer()
启动动画线程,必要时创建并初始化它。protected void
stopAnimationTimer()
停止动画线程。protected void
uninstallDefaults()
Unintalls默认属性。protected void
uninstallListeners()
删除此对象安装的所有侦听器。-
声明方法的类 javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getPreferredSize, installUI, uninstallUI, update
-
-
-
-
字段详细信息
-
progressBar
protected JProgressBar progressBar
JProgressBar
的实例。
-
changeListener
protected ChangeListener changeListener
ChangeListener
的实例。
-
boxRect
protected Rectangle boxRect
用于保存要绘制的弹跳框(由getBox返回)的位置和大小。- 从以下版本开始:
- 1.5
-
-
方法详细信息
-
createUI
public static ComponentUI createUI(JComponent x)
返回BasicProgressBarUI
的新实例。- 参数
-
x
- 一个组件 - 结果
-
BasicProgressBarUI
的新实例
-
installDefaults
protected void installDefaults()
安装默认属性。
-
uninstallDefaults
protected void uninstallDefaults()
Unintalls默认属性。
-
installListeners
protected void installListeners()
注册听众。
-
startAnimationTimer
protected void startAnimationTimer()
启动动画线程,必要时创建并初始化它。 当不确定的进度条应该开始动画时,将调用此方法。 原因可能包括:- 进度条是确定的并且可显示
- 进度条是可显示的并且变得确定
- 进度条可显示并确定,并且已安装此UI
- 从以下版本开始:
- 1.4
- 另请参见:
-
stopAnimationTimer()
-
stopAnimationTimer
protected void stopAnimationTimer()
停止动画线程。 应该停止不确定的动画时调用此方法。 原因可能包括:- 进度条更改为确定
- 进度条不再是可显示层次结构的一部分
- 此UI已卸载
- 从以下版本开始:
- 1.4
- 另请参见:
-
startAnimationTimer()
-
uninstallListeners
protected void uninstallListeners()
删除此对象安装的所有侦听器。
-
getBaseline
public int getBaseline(JComponent c, int width, int height)
返回基线。- 重写:
-
getBaseline
类ComponentUI
- 参数
- 正在申请
c
-JComponent
基线 -
width
- 获取基线的宽度 -
height
- 获取基线的高度 - 结果
- 基线或值<0表示没有合理的基线
- 异常
-
NullPointerException
- 如果c
是null
-
IllegalArgumentException
- 如果宽度或高度<0 - 从以下版本开始:
- 1.6
- 另请参见:
-
JComponent.getBaseline(int, int)
-
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
返回一个枚举,指示组件的基线如何随大小的变化而变化。- 重写:
-
getBaselineResizeBehavior
类ComponentUI
- 参数
-
c
-JComponent
返回基线调整大小的行为 - 结果
- 一个枚举,指示基线随组件大小的变化而变化的方式
- 异常
-
NullPointerException
- 如果c
是null
- 从以下版本开始:
- 1.6
- 另请参见:
-
JComponent.getBaseline(int, int)
-
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()
返回要在进度条中呈现的每个单元/单元的宽度(如果为HORIZONTAL)或高度(如果为VERTICAL)。 但是,对于文本渲染简化和美学考虑,此函数将在呈现进度字符串时返回1。- 结果
- 表示单元格之间间距的值
- 另请参见:
-
setCellLength(int)
,JProgressBar.isStringPainted()
-
setCellLength
protected void setCellLength(int cellLen)
设置单元格长度。- 参数
-
cellLen
- 新的单元格长度
-
getCellSpacing
protected int getCellSpacing()
返回进度条中每个单元格/单元之间的间距。 但是,对于文本渲染简化和美学考虑,此函数将在呈现进度字符串时返回0。- 结果
- 表示单元格之间间距的值
- 另请参见:
-
setCellSpacing(int)
,JProgressBar.isStringPainted()
-
setCellSpacing
protected void setCellSpacing(int cellSpace)
设置单元格间距。- 参数
-
cellSpace
- 新的单元格间距
-
getAmountFull
protected int getAmountFull(Insets b, int width, int height)
这将根据从模型中收集的完成百分比确定应填充的进度条的数量。 这是一个常见的操作,因此它被抽象出来了。 它假定您的进度条是线性的。 也就是说,如果要创建循环进度指示器,则需要覆盖此方法。- 参数
-
b
- 内b
-
width
- 宽度 -
height
- 高度 - 结果
- 应填写的进度条的数量
-
paint
public void paint(Graphics g, JComponent c)
代表绘制为两种方法之一:paintDeterminate或paintIndeterminate。- 重写:
-
paint
类ComponentUI
- 参数
-
g
- 要绘制的Graphics
上下文 -
c
- 正在绘制的组件; 此参数通常被忽略,但如果UI对象是无状态的并且由多个组件共享,则可以使用此参数 - 另请参见:
-
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
-
getBox
protected Rectangle getBox(Rectangle r)
存储将在r
为当前动画索引绘制的弹跳框的位置和大小,并返回r
。 添加到此类的实现paintIndeterminate
执行的绘制的子类 - 例如,在弹跳框周围绘制轮廓 - 可以使用此方法获取刚刚绘制的弹跳框的位置。 通过重写此方法,您可以完全控制弹跳框的大小和位置,而无需重新实现paintIndeterminate
。- 参数
-
r
- 要修改的Rectangle实例; 可能是null
- 结果
-
null
如果不绘制框; 否则,返回传入的矩形(如果为非null)或新的矩形 - 从以下版本开始:
- 1.4
- 另请参见:
-
setAnimationIndex(int)
-
getBoxLength
protected int getBoxLength(int availableLength, int otherDimension)
返回要绘制的“弹跳框”的长度。 此方法由默认实现paintIndeterminate
调用,以获取paintIndeterminate
的宽度(如果进度条为水平)或高度(如果是垂直)。 例如:boxRect.width = getBoxLength(componentInnards.width, componentInnards.height);
- 参数
-
availableLength
- 弹跳箱可移动的空间量; 例如,对于水平进度条,这应该是进度条的内部宽度(组件宽度减去边框) -
otherDimension
- 对于水平进度条,这应该是进度条的内部高度; 此值可用于约束或确定返回值 - 结果
- 确定盒子尺寸的大小; 必须不大于
availableLength
- 从以下版本开始:
- 1.5
- 另请参见:
-
SwingUtilities.calculateInnerArea(javax.swing.JComponent, java.awt.Rectangle)
-
paintIndeterminate
protected void paintIndeterminate(Graphics g, JComponent c)
适用于所有线性弹跳箱进度条的通用油漆方法。 如果您正在制作另一种进度条,请覆盖此选项。- 参数
-
g
-实例Graphics
-
c
- 一个组件 - 从以下版本开始:
- 1.4
- 另请参见:
-
paintDeterminate(java.awt.Graphics, javax.swing.JComponent)
-
paintDeterminate
protected void paintDeterminate(Graphics g, JComponent c)
适用于几乎所有线性,确定进度条的正确用途的涂料方法。 通过在默认表中设置一些值,应该可以很好地绘制进度条。 当然,如果您正在制作圆形或半圆形进度条,请覆盖它。- 参数
-
g
-实例Graphics
-
c
- 一个组件 - 从以下版本开始:
- 1.4
- 另请参见:
-
paintIndeterminate(java.awt.Graphics, javax.swing.JComponent)
-
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
- 另请参见:
-
JComponent.getMinimumSize()
,LayoutManager.minimumLayoutSize(java.awt.Container)
,ComponentUI.getPreferredSize(javax.swing.JComponent)
-
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()
-
incrementAnimationIndex
protected void incrementAnimationIndex()
将当前动画帧的索引设置为下一个有效值,这将导致重新绘制进度条。 默认情况下,下一个有效值是当前动画索引加1。 如果新值太大,则此方法将索引设置为0.子类可能需要重写此方法以确保索引不会超过特定进度条实例所需的帧数。 默认动画线程每隔X毫秒调用此方法,其中X由“ProgressBar.repaintInterval”UI默认值指定。- 从以下版本开始:
- 1.4
- 另请参见:
-
setAnimationIndex(int)
-
-