java.lang.Object javax.swing.plaf.ComponentUI javax.swing.plaf.ProgressBarUI javax.swing.plaf.basic.BasicProgressBarUI
public class BasicProgressBarUI
ProgressBarUI 的基本 L&F 实现。
嵌套类摘要 | |
---|---|
class |
BasicProgressBarUI.ChangeHandler 此内部类因编译器故障而被标记为“公开”。 |
字段摘要 | |
---|---|
protected Rectangle |
boxRect 用于保存要绘制的跳动框(由 getBox 返回)的位置和大小。 |
protected ChangeListener |
changeListener |
protected JProgressBar |
progressBar |
构造方法摘要 | |
---|---|
BasicProgressBarUI() |
方法摘要 | |
---|---|
static ComponentUI |
createUI(JComponent x) |
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 |
getMaximumSize(JComponent c) 返回指定组件的适合外观的最大大小。 |
Dimension |
getMinimumSize(JComponent c) 此组件的最小大小为 10。 |
protected Dimension |
getPreferredInnerHorizontal() |
protected Dimension |
getPreferredInnerVertical() |
Dimension |
getPreferredSize(JComponent c) 返回指定组件的适合外观的首选大小。 |
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 |
installUI(JComponent c) 配置指定组件,使其适合外观。 |
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() |
protected void |
uninstallListeners() 移除此对象安装的所有侦听器。 |
void |
uninstallUI(JComponent c) 在 installUI 期间,在指定组件上反向执行的配置操作。 |
从类 javax.swing.plaf.ComponentUI 继承的方法 |
---|
contains, getAccessibleChild, getAccessibleChildrenCount, update |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected JProgressBar progressBar
protected ChangeListener changeListener
protected Rectangle boxRect
构造方法详细信息 |
---|
public BasicProgressBarUI()
方法详细信息 |
---|
public static ComponentUI createUI(JComponent x)
public void installUI(JComponent c)
ComponentUI
复制的描述
ComponentUI
实例将作为 UI 委托安装在指定组件上时,可调用此方法。此方法应该为外观完整地配置组件,包括以下方面:
LayoutManager
。 PropertyChangeListener
。
ComponentUI
中的
installUI
c
- 将安装此 UI 委托的组件
ComponentUI.uninstallUI(javax.swing.JComponent)
,
JComponent.setUI(javax.swing.plaf.ComponentUI)
,
JComponent.updateUI()
public void uninstallUI(JComponent c)
ComponentUI
复制的描述
installUI
期间,在指定组件上反向执行的配置操作。当此
UIComponent
实例将作为 UI 委托从指定组件上移除时,可调用此方法。此方法应该取消在
installUI
中执行的配置操作,非常小心地使
JComponent
实例处于某种洁净状态(没有额外的侦听器、没有特定于外观的属性对象等等)。配置内容应该包括以下方面:
ComponentUI
中的
uninstallUI
c
- 从中移除此 UI 委托的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
ComponentUI.installUI(javax.swing.JComponent)
,
JComponent.updateUI()
protected void installDefaults()
protected void uninstallDefaults()
protected void installListeners()
protected void startAnimationTimer()
stopAnimationTimer()
protected void stopAnimationTimer()
startAnimationTimer()
protected void uninstallListeners()
public int getBaseline(JComponent c, int width, int height)
ComponentUI
中的
getBaseline
c
- 为其请求基线的
JComponent
width
- 为其获取基线的宽度
height
- 为其获取基线的高度
NullPointerException
- 如果
c
为
null
IllegalArgumentException
- 如果宽度或高度 < 0
JComponent.getBaseline(int, int)
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
ComponentUI
中的
getBaselineResizeBehavior
c
- 为其返回调整大小行为的
JComponent
NullPointerException
- 如果
c
为
null
JComponent.getBaseline(int, int)
protected Dimension getPreferredInnerHorizontal()
protected Dimension getPreferredInnerVertical()
protected Color getSelectionForeground()
protected Color getSelectionBackground()
protected int getCellLength()
setCellLength(int)
,
JProgressBar.isStringPainted()
protected void setCellLength(int cellLen)
protected int getCellSpacing()
setCellSpacing(int)
,
JProgressBar.isStringPainted()
protected void setCellSpacing(int cellSpace)
protected int getAmountFull(Insets b, int width, int height)
public void paint(Graphics g, JComponent c)
ComponentUI
中的
paint
g
- 将在其中进行绘制的
Graphics
上下文
c
- 将绘制的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
protected Rectangle getBox(Rectangle r)
r
中的当前动画索引绘制并返回
r
的跳动框中位置和大小。在
paintIndeterminate
的此类的实现中执行添加绘制的子类(例如,围绕跳动框绘制轮廓)可以使用此方法获取刚刚绘制的跳动框的位置。通过重写此方法,可以完全控制跳动框的大小和位置,无需重新实现
paintIndeterminate
。
r
- 要修改的 Rectangle 实例;可能为
null
null
;否则返回传入的矩形(如果非 null)或新矩形
setAnimationIndex(int)
protected int getBoxLength(int availableLength, int otherDimension)
paintIndeterminate
的默认实现调用此方法来获取框的宽度(如果进度条是水平的)或高度(如果是垂直的)。例如:
boxRect.width = getBoxLength(componentInnards.width, componentInnards.height);
availableLength
- 跳动框可移动的空间量;对于水平进度条而言,此空间量应为进度条的内部宽度(组件宽度减去边框)
otherDimension
- 对于水平进度条,此空间量应为进度条的内部高度;此值可能用于约束或确定返回值。
availableLength
SwingUtilities.calculateInnerArea(javax.swing.JComponent, java.awt.Rectangle)
protected void paintIndeterminate(Graphics g, JComponent c)
paintDeterminate(java.awt.Graphics, javax.swing.JComponent)
protected void paintDeterminate(Graphics g, JComponent c)
paintIndeterminate(java.awt.Graphics, javax.swing.JComponent)
protected void paintString(Graphics g, int x, int y, int width, int height, int amountFull, Insets b)
protected Point getStringPlacement(Graphics g, String progressString, int x, int y, int width, int height)
public Dimension getPreferredSize(JComponent c)
ComponentUI
复制的描述
null
,则首选大小将由组件的布局管理器计算(对于安装了特定布局管理器的组件而言,这是首选方法)。此方法的默认实现返回
null
。
ComponentUI
中的
getPreferredSize
c
- 将查询其首选大小的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
JComponent.getPreferredSize()
,
LayoutManager.preferredLayoutSize(java.awt.Container)
public Dimension getMinimumSize(JComponent c)
ComponentUI
中的
getMinimumSize
c
- 将查询其最小大小的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
Dimension
对象或
null
JComponent.getMinimumSize()
,
LayoutManager.minimumLayoutSize(java.awt.Container)
,
ComponentUI.getPreferredSize(javax.swing.JComponent)
public Dimension getMaximumSize(JComponent c)
ComponentUI
复制的描述
null
,则最大大小将由组件的布局管理器计算(对于安装了特定布局管理器的组件而言,这是首选方法)。此方法的默认实现调用
getPreferredSize
并返回该值。
ComponentUI
中的
getMaximumSize
c
- 将查询其最大大小的组件;此参数常被忽略,但如果 UI 对象是无状态的并由多个组件共享,则可以使用该参数
Dimension
对象或
null
JComponent.getMaximumSize()
,
LayoutManager2.maximumLayoutSize(java.awt.Container)
protected int getAnimationIndex()
protected final int getFrameCount()
protected void setAnimationIndex(int newValue)
repaint
方法的调用方式。
newValue
- 新动画索引;没有对其值执行检查
incrementAnimationIndex()
protected void incrementAnimationIndex()
setAnimationIndex(int)