java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.ProgressBarUI
javax.swing.plaf.basic.BasicProgressBarUI
- 直接已知的子类:
-
MetalProgressBarUI
,SynthProgressBarUI
ProgressBarUI的基本L&F实现。
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
这个类应该被视为一个"protected"内部类。 -
Field Summary
Modifier and TypeFieldDescriptionprotected Rectangle
用于保存要绘制的弹跳框的位置和大小(由getBox返回)。protected ChangeListener
ChangeListener的实例。protected JProgressBar
JProgressBar的实例。 -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic ComponentUI
返回一个新的BasicProgressBarUI实例。protected int
getAmountFull
(Insets b, int width, int height) 根据从模型中获取的完成百分比来确定应该填充多少进度条的量。protected int
获取当前动画帧的索引。int
getBaseline
(JComponent c, int width, int height) 返回基线。返回一个枚举,指示组件的基线随大小变化而变化的方式。protected Rectangle
存储当前动画索引下要绘制的弹跳框的位置和大小,并返回r。protected int
getBoxLength
(int availableLength, int otherDimension) 返回要绘制的"弹跳框"的长度。protected int
返回要在进度条中呈现的每个单元格/单元的宽度(如果是水平的)或高度(如果是垂直的)。protected int
返回进度条中每个单元格/单元之间的间距。protected final int
返回用于不确定JProgressBar的完整动画循环的帧数。此组件的最小大小为10。protected Dimension
返回水平JProgressBar的首选大小。protected Dimension
返回垂直JProgressBar的首选大小。protected Color
"selectionBackground"是在进度条的未填充区域上绘制文本时的颜色。protected Color
"selectionForeground"是在进度条的填充区域上绘制文本时的颜色。protected Point
getStringPlacement
(Graphics g, String progressString, int x, int y, int width, int height) 指定进度字符串将被绘制的位置。protected void
将当前动画帧的索引设置为下一个有效值,导致进度条被重新绘制。protected void
安装默认属性。protected void
注册监听器。void
paint
(Graphics g, JComponent c) 将绘制委托给两种方法之一:paintDeterminate或paintIndeterminate。protected void
通用绘制方法,几乎适用于所有线性确定进度条。protected void
通用绘制方法,适用于所有线性弹跳框进度条。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
启动动画线程,如有必要创建并初始化它。protected void
停止动画线程。protected void
卸载默认属性。protected void
移除此对象安装的所有监听器。Methods declared in class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getPreferredSize, installUI, uninstallUI, update
-
Field Details
-
progressBar
JProgressBar的实例。 -
changeListener
ChangeListener的实例。 -
boxRect
用于保存要绘制的弹跳框的位置和大小(由getBox返回)。- 自1.5版本起:
- 1.5
-
-
Constructor Details
-
BasicProgressBarUI
public BasicProgressBarUI()构造一个BasicProgressBarUI。
-
-
Method Details
-
createUI
返回一个新的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
返回基线。- 覆盖:
-
getBaseline
在类ComponentUI
中 - 参数:
-
c
- 请求基线的JComponent -
width
- 获取基线的宽度 -
height
- 获取基线的高度 - 返回:
- 基线或值< 0,表示没有合理的基线
- 抛出:
-
NullPointerException
- 如果c
为null
-
IllegalArgumentException
- 如果宽度或高度< 0 - 自1.6版本起:
- 1.6
- 参见:
-
getBaselineResizeBehavior
返回一个枚举,指示组件的基线随大小变化而变化的方式。- 覆盖:
-
getBaselineResizeBehavior
在类ComponentUI
中 - 参数:
-
c
- 返回基线调整行为的JComponent - 返回:
- 一个枚举,指示基线随组件大小变化而变化的方式
- 抛出:
-
NullPointerException
- 如果c
为null
- 自1.6版本起:
- 1.6
- 参见:
-
getPreferredInnerHorizontal
返回水平JProgressBar的首选大小。- 返回:
- 水平JProgressBar的首选大小
-
getPreferredInnerVertical
返回垂直JProgressBar的首选大小。- 返回:
- 垂直JProgressBar的首选大小
-
getSelectionForeground
"selectionForeground"是在进度条的填充区域上绘制文本时的颜色。- 返回:
- 选定前景的颜色
-
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
根据从模型中获取的完成百分比确定应该填充多少进度条的量。这是一个常见操作,因此将其抽象出来。它假设您的进度条是线性的。也就是说,如果您正在制作一个圆形进度指示器,您将需要重写此方法。- 参数:
-
b
- 插图 -
width
- 一个宽度 -
height
- 一个高度 - 返回:
- 应该填充的进度条的量
-
paint
将绘制委托给两种方法之一:paintDeterminate或paintIndeterminate。- 覆盖:
-
paint
在类ComponentUI
中 - 参数:
-
g
- 用于绘制的Graphics
上下文 -
c
- 正在绘制的组件;通常会忽略此参数,但如果UI对象是无状态的并且由多个组件共享,则可能会使用 - 参见:
-
getBox
存储当前动画索引处将绘制的弹跳框的位置和大小,并将其返回为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
通用绘制方法,应适用于所有线性弹跳框进度条。如果您正在制作其他类型的进度条,请覆盖此方法。- 参数:
-
g
-Graphics
的一个实例 -
c
- 一个组件 - 自:
- 1.4
- 参见:
-
paintDeterminate
通用绘制方法,几乎适用于所有线性、确定进度条。通过在默认表中设置一些值,应该可以很好地绘制进度条。如果您正在制作圆形或半圆形进度条,请覆盖此方法。- 参数:
-
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
此组件的最小尺寸为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
- 参见:
-