Module  java.desktop

Class BasicProgressBarUI

    • 字段详细信息

      • progressBar

        protected JProgressBar progressBar
        实例 JProgressBar
      • changeListener

        protected ChangeListener changeListener
        实例 ChangeListener
      • boxRect

        protected Rectangle boxRect
        用于保存弹出框(由getBox返回)的位置和大小以进行绘制。
        从以下版本开始:
        1.5
    • 构造方法详细信息

      • BasicProgressBarUI

        public BasicProgressBarUI​()
    • 方法详细信息

      • createUI

        public static ComponentUI createUI​(JComponent x)
        返回一个新的实例 BasicProgressBarUI
        参数
        x - 一个组件
        结果
        一个新的例子 BasicProgressBarUI
      • installUI

        public void installUI​(JComponent c)
        描述从类复制: ComponentUI
        适当地配置指定的组件的外观和感觉。 当正在安装ComponentUI实例作为指定组件上的UI委托时,将调用此方法。 该方法应该完全配置组件的外观,包括以下内容:
        1. 为组件上的颜色,字体,边框,图标,不透明度等安装默认属性值。 只要有可能,由客户端程序初始化的属性值应该被重写。
        2. 如有必要,请在组件上安装LayoutManager
        3. 创建/添加任何所需的子组件到组件。
        4. 在组件上创建/安装事件监听器。
        5. 在组件上创建/安装PropertyChangeListener ,以便适当地检测和响应组件属性更改。
        6. 在组件上安装键盘UI(助记符,遍历等)。
        7. 初始化任何适当的实例数据。
        重写:
        installUIComponentUI
        参数
        c - 正在安装此UI c的组件
        另请参见:
        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实例处于干净状态(无外部侦听器,外观特定属性对象等)。 这应该包括以下内容:
        1. 从组件中删除任何UI集边框。
        2. 删除组件上的任何UI集布局管理器。
        3. 从组件中删除任何添加了UI的子组件。
        4. 从组件中删除任何UI添加的事件/属性侦听器。
        5. 从组件中删除任何UI安装的键盘UI。
        6. 对任何分配的实例数据对象进行空白以允许GC。
        重写:
        uninstallUIComponentUI
        参数
        c - 正在删除此UI c的组件; 这个参数经常被忽略,但如果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​()
        删除此对象安装的所有侦听器。
      • 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 - 一个高度
        结果
        应填充的进度条的数量
      • 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)
      • 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)
      • getMaximumSize

        public Dimension getMaximumSize​(JComponent c)
        描述从类复制: ComponentUI
        返回指定组件的最大尺寸,适合外观和感觉。 如果返回null ,则最大大小将由组件的布局管理器计算(这是安装了特定布局管理器的任何组件的首选方法)。 此方法的默认实现将调用getPreferredSize并返回该值。
        重写:
        getMaximumSizeComponentUI
        参数
        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)