public class BasicProgressBarUI extends ProgressBarUI
Modifier and Type | Class and Description |
---|---|
class |
BasicProgressBarUI.ChangeHandler
这个类应该被视为一个“受保护”的内部类。
|
Modifier and Type | Field and Description |
---|---|
protected Rectangle |
boxRect
用于保存弹出框(由getBox返回)的位置和大小以进行绘制。
|
protected ChangeListener |
changeListener |
protected JProgressBar |
progressBar |
Constructor and Description |
---|
BasicProgressBarUI() |
Modifier and Type | Method and Description |
---|---|
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中反转在
installUI 上完成的
installUI 。
|
contains, getAccessibleChild, getAccessibleChildrenCount, update
protected JProgressBar progressBar
protected ChangeListener changeListener
protected Rectangle boxRect
public static ComponentUI createUI(JComponent x)
public void installUI(JComponent c)
ComponentUI
ComponentUI
实例作为指定组件上的UI委托时,将调用此方法。
该方法应该完全配置组件的外观,包括以下内容:
LayoutManager
上安装LayoutManager。 PropertyChangeListener
上创建/安装PropertyChangeListener,以便适当地检测和响应组件属性更改。 installUI
在
ComponentUI
类
c
- 正在安装此UI代理的组件
ComponentUI.uninstallUI(javax.swing.JComponent)
,
JComponent.setUI(javax.swing.plaf.ComponentUI)
,
JComponent.updateUI()
public void uninstallUI(JComponent c)
ComponentUI
installUI
上完成的installUI
。
当将此UIComponent
实例作为指定组件的UI委托删除时,将调用此方法。
该方法应该撤消在installUI中执行的installUI
,小心使JComponent
实例处于干净状态(无外部侦听器,外观特定属性对象等)。
这应该包括以下内容:
uninstallUI
在
ComponentUI
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)
getBaseline
在
ComponentUI
c
-
JComponent
正在请求基准
width
- 获取基准的宽度
height
- 获取基准的高度
NullPointerException
- 如果
c
是
null
IllegalArgumentException
- 如果宽度或高度<0
JComponent.getBaseline(int, int)
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
getBaselineResizeBehavior
在
ComponentUI
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)
paint
在
ComponentUI
g
- 要绘画的
Graphics
上下文
c
- 被涂的部件
这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
protected Rectangle getBox(Rectangle r)
r
为当前动画索引绘制的弹跳框的位置和大小,并返回r
。
添加到该类执行paintIndeterminate
中绘制的绘图的paintIndeterminate
类(例如,在弹跳框中绘制轮廓)可以使用此方法来获取刚被绘制的弹跳框的位置。
通过覆盖此方法,您可以完全控制弹跳框的大小和位置,而无需重新实现paintIndeterminate
。
r
- 要修改的Rectangle实例;
可能是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
。
getPreferredSize
在
ComponentUI
类
c
- 要查询其首选大小的组件;
这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用
JComponent.getPreferredSize()
,
LayoutManager.preferredLayoutSize(java.awt.Container)
public Dimension getMinimumSize(JComponent c)
getMinimumSize
在
ComponentUI
c
- 查询最小尺寸的组件;
这个参数经常被忽略,但如果UI对象是无状态的并且被多个组件共享,则可能会被使用
Dimension
对象或
null
JComponent.getMinimumSize()
,
LayoutManager.minimumLayoutSize(java.awt.Container)
,
ComponentUI.getPreferredSize(javax.swing.JComponent)
public Dimension getMaximumSize(JComponent c)
ComponentUI
null
,则最大大小将由组件的布局管理器计算(这是安装了特定布局管理器的任何组件的首选方法)。
此方法的默认实现调用getPreferredSize
并返回该值。
getMaximumSize
在
ComponentUI
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)