Класс BasicProgressBarUI

Прямые известные подклассы:
MetalProgressBarUI, SynthProgressBarUI
public class BasicProgressBarUI
extends ProgressBarUI

Реализация ProgressBarUI с базовым стилем L&F.

Вложенные классы

Модификатор и тип Класс Описание
class  BasicProgressBarUI.ChangeHandler

Этот класс следует рассматривать как "защищённый" внутренний класс.

Поля

Модификатор и тип Поле Описание
protected Rectangle boxRect

Используется для хранения расположения и размера прямоугольника для отрисовки (возвращается методом getBox).

protected ChangeListener changeListener

Экземпляр ChangeListener.

protected JProgressBar progressBar

Экземпляр JProgressBar.

Конструкторы

Конструктор Описание
BasicProgressBarUI()

Методы

Модификатор и тип Метод Описание
static ComponentUI createUI​(JComponent x)

Возвращает новый экземпляр BasicProgressBarUI.

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()

Возвращает ширину (если ГОРИЗОНТАЛЬНО) или высоту (если ВЕРТИКАЛЬНО) каждого отдельного элемента/блока, подлежащего отрисовке в прогресс-баре.

protected int getCellSpacing()

Возвращает расстояние между элементами/блоками в прогресс-баре.

protected int getFrameCount()

Возвращает количество кадров для полного цикла анимации, используемого не определяемым JProgessBar.

Dimension getMinimumSize​(JComponent c)

Минимальный размер компонента — 10.

protected Dimension getPreferredInnerHorizontal()

Возвращает предпочтительный размер горизонтального JProgressBar.

protected Dimension getPreferredInnerVertical()

Возвращает предпочтительный размер вертикального JProgressBar.

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 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()

Удаляет всех слушателей, установленных этим объектом.

Методы, объявленные в классе javax.swing.plaf.ComponentUI

contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getPreferredSize, installUI, uninstallUI, update

Методы, объявленные в классе java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание полей

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

installDefaults

protected void installDefaults()

Устанавливает свойства по умолчанию.

uninstallDefaults

protected void uninstallDefaults()

Удаляет свойства по умолчанию.

installListeners

protected void installListeners()

Регистрирует слушателей.

startAnimationTimer

protected void startAnimationTimer()

Запускает поток анимации, создавая и инициализируя его при необходимости. Этот метод вызывается при запуске анимации полосы прогресса неопределённой величины. Причины могут включать:

  • Полоса прогресса определена и становится отображаемой
  • Полоса прогресса отображаема и становится определённой
  • Полоса прогресса отображаема и определённая, и этот интерфейс установлен
Если вы реализуете свой собственный поток анимации, вы должны переопределить этот метод.

С:
1.4
См. также:
stopAnimationTimer()

stopAnimationTimer

protected void stopAnimationTimer()

Останавливает поток анимации. Этот метод вызывается при остановке анимации неопределённой полосы прогресса. Причины могут включать:

  • Полоса прогресса изменяется на определённую
  • Полоса прогресса больше не является частью отображаемой иерархии
  • Этот интерфейс удалён
Если вы реализуете свой собственный поток анимации, вы должны переопределить этот метод.

С:
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()

Возвращает предпочтительный размер внутренней горизонтальной части.

Возвращает:
предпочтительный размер внутренней горизонтальной части

getPreferredInnerVertical

protected Dimension getPreferredInnerVertical()

Возвращает предпочтительный размер внутренней вертикальной части.

Возвращает:
предпочтительный размер внутренней вертикальной части

getSelectionForeground

protected Color getSelectionForeground()

«selectionForeground» — цвет текста при его отрисовке поверх залитой области полосы прогресса.

Возвращает:
цвет выделенного переднего плана

getSelectionBackground

protected Color getSelectionBackground()

«selectionBackground» — цвет текста при его отрисовке поверх незалитой области полосы прогресса.

Возвращает:
цвет выделенного заднего плана

getCellLength

protected int getCellLength()

Возвращает ширину (если ГОРИЗОНТАЛЬНО) или высоту (если ВЕРТИКАЛЬНО) каждой из отдельных ячеек/единиц, подлежащих отрисовке в полосе прогресса. Однако для упрощения отрисовки текста и эстетических соображений эта функция вернёт 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 если прямоугольник не должен быть нарисован; в противном случае возвращает переданный прямоугольник (если он не равен null) или новый прямоугольник
С:
1.4
См. также:
setAnimationIndex(int)

getBoxLength

protected int getBoxLength(int availableLength,
                           int otherDimension)

Возвращает длину прямоугольника, подлежащего отрисовке. Этот метод вызывается реализацией по умолчанию 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 — Отступы полосы прогресса.

getStringPlacement

protected Point getStringPlacement(Graphics g,
                                   String progressString,
                                   int x,
                                   int y,
                                   int width,
                                   int height)

Определяет место, где будет нарисована строка прогресса. Данная реализация размещает ее в центре полосы прогресса (по обеим координатам). Переопределите этот метод, если вам нужно выровнять строку по правому, левому краю, верху или низу, или если необходимо сместить её по каким-либо причинам.

Параметры:
g — экземпляр Graphics
progressString — текст
x — координата X
y — координата Y
width — ширина
height — высота
Возвращает:
место, где будет нарисована строка прогресса

getMinimumSize

public Dimension getMinimumSize(JComponent c)

Минимальный размер для этого компонента составляет 10. Это обосновано тем, что должно быть как минимум по одному пикселю на каждые 10 процентов.

Переопределяет:
getMinimumSize в классе ComponentUI
Параметры:
c — компонент, для которого запрашивается минимальный размер; этот аргумент часто игнорируется, но может быть использован, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами
Возвращает:
объект Dimension или null
См. также:
JComponent.getMinimumSize(), LayoutManager.minimumLayoutSize(java.awt.Container), ComponentUI.getPreferredSize(javax.swing.JComponent)

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)

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/swing/plaf/basic/BasicProgressBarUI.html

Spec-Zone .ru
спецификации, руководства, описания, API