- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.ProgressBarUI
-
- javax.swing.plaf.basic.BasicProgressBarUI
-
- 已知直接子类:
-
MetalProgressBarUI,SynthProgressBarUI
public class BasicProgressBarUI extends ProgressBarUI
ProgressBarUI的基本L&F实现。
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 classBasicProgressBarUI.ChangeHandler这个类应该被视为一个“受保护”的内部类。
-
Field Summary
Fields Modifier and Type Field 描述 protected RectangleboxRect用于保存弹出框(由getBox返回)的位置和大小以进行绘制。protected ChangeListenerchangeListener实例ChangeListener。protected JProgressBarprogressBar实例JProgressBar。
-
构造方法摘要
构造方法 Constructor 描述 BasicProgressBarUI()
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 static ComponentUIcreateUI(JComponent x)返回一个新的实例BasicProgressBarUI。protected intgetAmountFull(Insets b, int width, int height)这将根据从模型收集的百分比确定应填充的进度条的数量。protected intgetAnimationIndex()获取当前动画帧的索引。intgetBaseline(JComponent c, int width, int height)返回基线。Component.BaselineResizeBehaviorgetBaselineResizeBehavior(JComponent c)返回一个枚举,指示组件的基线如何随着大小的变化而改变。protected RectanglegetBox(Rectangle r)存储将在r为当前动画索引绘制的弹跳框的位置和大小,并返回r。protected intgetBoxLength(int availableLength, int otherDimension)返回要画的“弹跳框”的长度。protected intgetCellLength()返回要在进度条中呈现的每个单元格/单位的宽度(如果为HORIZONTAL)或高度(如果为VERTICAL)。protected intgetCellSpacing()返回进度条中每个单元格/单位之间的间距。protected intgetFrameCount()返回由不确定的JProgessBar使用的完整动画循环的帧数。DimensiongetMaximumSize(JComponent c)返回指定组件的最大尺寸,适合外观和感觉。DimensiongetMinimumSize(JComponent c)该组件的最小大小为10。protected DimensiongetPreferredInnerHorizontal()返回水平的首选大小JProgressBar。protected DimensiongetPreferredInnerVertical()返回首选的垂直尺寸JProgressBar。DimensiongetPreferredSize(JComponent c)返回指定组件的偏好大小,适合外观和感觉。protected ColorgetSelectionBackground()“selectionBackground”是当文字绘制在进度条的未填充区域时的颜色。protected ColorgetSelectionForeground()“selectionForeground”是当绘制在进度条的填充区域时的文本颜色。protected PointgetStringPlacement(Graphics g, String progressString, int x, int y, int width, int height)指定进度字符串将被绘制的地方。protected voidincrementAnimationIndex()将当前动画帧的索引设置为下一个有效值,这将导致进度条被重新绘制。protected voidinstallDefaults()安装默认属性。protected voidinstallListeners()注册听众。voidinstallUI(JComponent c)适当地配置指定的组件的外观和感觉。voidpaint(Graphics g, JComponent c)代表绘画为两种方法之一:paintDeterminate或paintIndeterminate。protected voidpaintDeterminate(Graphics g, JComponent c)所有目的的油漆方法应该对几乎所有线性,确定进度条做正确的事情。protected voidpaintIndeterminate(Graphics g, JComponent c)所有的线性弹跳框进度条都应该做正确的事情。protected voidpaintString(Graphics g, int x, int y, int width, int height, int amountFull, Insets b)绘制进度字符串。protected voidsetAnimationIndex(int newValue)将当前动画帧的索引设置为指定的值,并请求重绘进度条。protected voidsetCellLength(int cellLen)设置单元格长度。protected voidsetCellSpacing(int cellSpace)设置单元格间距。protected voidstartAnimationTimer()启动动画线程,必要时创建和初始化它。protected voidstopAnimationTimer()停止动画线程。protected voiduninstallDefaults()Unintalls默认属性。protected voiduninstallListeners()删除此对象安装的所有侦听器。voiduninstallUI(JComponent c)在installUI反转在指定组件上完成的配置。-
Methods inherited from class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, 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
-
installUI
public void installUI(JComponent c)
描述从类复制:ComponentUI适当地配置指定的组件的外观和感觉。 当正在安装ComponentUI实例作为指定组件上的UI委托时,将调用此方法。 该方法应该完全配置组件的外观,包括以下内容:- 为组件上的颜色,字体,边框,图标,不透明度等安装默认属性值。 只要有可能,由客户端程序初始化的属性值不应该被重写。
- 如有必要,请在组件上安装
LayoutManager。 - 创建/添加任何所需的子组件到组件。
- 在组件上创建/安装事件监听器。
- 在组件上创建/安装
PropertyChangeListener,以便适当地检测和响应组件属性更改。 - 在组件上安装键盘UI(助记符,遍历等)。
- 初始化任何适当的实例数据。
- 重写:
-
installUI在ComponentUI - 参数
-
c- 正在安装此UIc的组件 - 另请参见:
-
ComponentUI.uninstallUI(javax.swing.JComponent),JComponent.setUI(javax.swing.plaf.ComponentUI),JComponent.updateUI()
-
uninstallUI
public void uninstallUI(JComponent c)
描述从类复制:ComponentUI在installUI反转在指定组件上完成的配置。 当这个UIComponent实例作为指定组件的UI委托被删除时,将调用此方法。 该方法应该撤消在installUI执行的配置,小心使JComponent实例处于干净状态(无外部侦听器,外观特定属性对象等)。 这应该包括以下内容:- 从组件中删除任何UI集边框。
- 删除组件上的任何UI集布局管理器。
- 从组件中删除任何添加了UI的子组件。
- 从组件中删除任何UI添加的事件/属性侦听器。
- 从组件中删除任何UI安装的键盘UI。
- 对任何分配的实例数据对象进行空白以允许GC。
- 重写:
-
uninstallUI在ComponentUI - 参数
-
c- 正在删除此UIc的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 另请参见:
-
ComponentUI.installUI(javax.swing.JComponent),JComponent.updateUI()
-
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- 插图 -
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如果没有框应该绘制; 否则,返回传入矩形(如果非空)或新矩形 - 从以下版本开始:
- 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- 进度条的内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- 一个高度 - 结果
- 进行字符串将被绘制的地方
-
getPreferredSize
public Dimension getPreferredSize(JComponent c)
描述从类复制:ComponentUI返回指定组件的偏好大小,适合外观和感觉。 如果返回null,则优选的大小将由组件的布局管理器计算(这是安装了特定布局管理器的任何组件的首选方法)。 此方法的默认实现返回null。- 重写:
-
getPreferredSize在类ComponentUI - 参数
-
c- 要查询其首选大小的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 结果
-
一个
Dimension对象包含给定组件的首选大小适合外观和感觉 - 另请参见:
-
JComponent.getPreferredSize(),LayoutManager.preferredLayoutSize(java.awt.Container)
-
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)
-
getMaximumSize
public Dimension getMaximumSize(JComponent c)
描述从类复制:ComponentUI返回指定组件的最大尺寸,适合外观和感觉。 如果返回null,则最大大小将由组件的布局管理器计算(这是安装了特定布局管理器的任何组件的首选方法)。 此方法的默认实现将调用getPreferredSize并返回该值。- 重写:
-
getMaximumSize在ComponentUI - 参数
-
c- 查询最大大小的组件; 这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用 - 结果
-
一个
Dimension对象或null - 另请参见:
-
JComponent.getMaximumSize(),LayoutManager2.maximumLayoutSize(java.awt.Container)
-
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()
将当前动画帧的索引设置为下一个有效值,这将导致进度条被重新绘制。 默认情况下,下一个有效值是当前动画索引加一。 如果新值太大,则该方法将索引设置为0.子类可能需要覆盖此方法,以确保索引不会超过特定进度条实例所需的帧数。 该方法由默认动画线程每X毫秒调用,其中X由“ProgressBar.repaintInterval”UI默认值指定。- 从以下版本开始:
- 1.4
- 另请参见:
-
setAnimationIndex(int)
-
-