Класс BasicProgressBarUI
java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.ProgressBarUI
javax.swing.plaf.basic.BasicProgressBarUI
- Прямые известные подклассы:
-
MetalProgressBarUI,SynthProgressBarUI
public class BasicProgressBarUI extends ProgressBarUI
Реализация ProgressBarUI для базовой темы.
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
class |
BasicProgressBarUI.ChangeHandler |
Этот класс следует рассматривать как "защищённый" вложенный класс. |
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Rectangle |
boxRect |
Содержит координаты и размеры прямоугольника, подлежащего отрисовке (возвращается методом getBox). |
protected ChangeListener |
changeListener |
Экземпляр ChangeListener. |
protected JProgressBar |
progressBar |
Экземпляр JProgressBar. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
BasicProgressBarUI() |
Создаёт BasicProgressBarUI. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static ComponentUI |
createUI |
Возвращает новый экземпляр BasicProgressBarUI. |
protected int |
getAmountFull |
Определяет заполненную часть прогресс-бара, исходя из процента выполнения, полученного от модели. |
protected int |
getAnimationIndex() |
Возвращает индекс текущей кадра анимации. |
int |
getBaseline |
Возвращает линию основания. |
Component.BaselineResizeBehavior |
getBaselineResizeBehavior |
Возвращает перечисление, указывающее, как изменяется линия основания компонента при изменении размера. |
protected Rectangle |
getBox |
Сохраняет позицию и размеры прямоугольника, который будет нарисован для текущего индекса анимации в r и возвращает r. |
protected int |
getBoxLength |
Возвращает длину "прямоугольника анимации" для отрисовки. |
protected int |
getCellLength() |
Возвращает ширину (если ГОРИЗОНТАЛЬНО) или высоту (если ВЕРТИКАЛЬНО) каждого из отдельных ячеек/единиц, подлежащих отрисовке в прогресс-баре. |
protected int |
getCellSpacing() |
Возвращает интервал между каждой из ячеек/единиц в прогресс-баре. |
protected final int |
getFrameCount() |
Возвращает количество кадров для полного цикла анимации, используемого не определяемым JProgessBar. |
Dimension |
getMinimumSize |
Минимальный размер для этого компонента — 10. |
protected Dimension |
getPreferredInnerHorizontal() |
Возвращает предпочтительный размер горизонтального JProgressBar. |
protected Dimension |
getPreferredInnerVertical() |
Возвращает предпочтительный размер вертикального JProgressBar. |
protected Color |
getSelectionBackground() |
«selectionBackground» — цвет текста при отрисовке поверх незаполненной области прогресс-бара. |
protected Color |
getSelectionForeground() |
«selectionForeground» — цвет текста при отрисовке поверх заполненной области прогресс-бара. |
protected Point |
getStringPlacement |
Указывает место, где будет нарисован строка прогресса. |
protected void |
incrementAnimationIndex() |
Устанавливает индекс текущего кадра анимации на следующее допустимое значение, что приводит к перерисовке прогресс-бара. |
protected void |
installDefaults() |
Устанавливает значения по умолчанию. |
protected void |
installListeners() |
Регистрирует слушателей. |
void |
paint |
Делегирует отрисовку одному из двух методов: paintDeterminate или paintIndeterminate. |
protected void |
paintDeterminate |
Метод отрисовки общего назначения, который должен действовать правильно для почти всех линейных, определённых прогресс-баров. |
protected void |
paintIndeterminate |
Метод отрисовки общего назначения, который должен действовать правильно для всех линейных прогресс-баров с анимирующимся прямоугольником. |
protected void |
paintString |
Отрисовывает строку прогресса. |
protected void |
setAnimationIndex |
Устанавливает индекс текущего кадра анимации на указанное значение и запрашивает перерисовку прогресс-бара. |
protected void |
setCellLength |
Устанавливает длину ячейки. |
protected void |
setCellSpacing |
Устанавливает интервал между ячейками. |
protected void |
startAnimationTimer() |
Запускает поток анимации, создавая и инициализируя его при необходимости. |
protected void |
stopAnimationTimer() |
Останавливает поток анимации. |
protected void |
uninstallDefaults() |
Удаляет свойства по умолчанию. |
protected void |
uninstallListeners() |
Удаляет всех слушателей, установленных этим объектом. |
Методы, объявленные в классе javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getPreferredSize, installUI, uninstallUI, update
Подробное описание полей
progressBar
protected JProgressBar progressBar
Экземпляр
JProgressBar.changeListener
protected ChangeListener changeListener
Экземпляр
ChangeListener.boxRect
protected Rectangle boxRect
Используется для хранения местоположения и размеров прыгающего прямоугольника (возвращаемого методом getBox) для отрисовки.
- С:
- 1.5
Подробное описание конструкторов
BasicProgressBarUI
public BasicProgressBarUI()
Создаёт
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()
Запускает поток анимации, создавая и инициализируя его при необходимости. Этот метод вызывается, когда полоса прогресса должна начать анимацию неопределённой длительности. Причины могут включать:
- Полоса прогресса определённой длительности и становится отображаемой
- Полоса прогресса отображаемая и становится определённой длительности
- Полоса прогресса отображаемая, определённой длительности и этот UI установлен
- С:
- 1.4
- См. также:
stopAnimationTimer
protected void stopAnimationTimer()
Останавливает поток анимации. Этот метод вызывается, когда анимация неопределённой длительности должна быть остановлена. Причины могут включать:
- Полоса прогресса меняется на определённой длительности
- Полоса прогресса больше не является частью отображаемой иерархии
- Этот UI отменён
- С:
- 1.4
- См. также:
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
- См. также:
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
Возвращает перечисление, указывающее, как базовая линия компонента изменяется при изменении размера.
- Переопределяет:
-
getBaselineResizeBehaviorв классеComponentUI - Параметры:
-
c-JComponentдля возврата поведения изменения базовой линии - Возвращает:
- перечисление, указывающее, как изменяется базовая линия при изменении размера компонента
- Исключение:
-
NullPointerException- еслиcравноnull - С:
- 1.6
- См. также:
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()
Возвращает ширину (если ГОРИЗОНТАЛЬНО) или высоту (если ВЕРТИКАЛЬНО) каждого отдельного ячейки/блока для отрисовки в полосе прогресса. Однако для упрощения отрисовки текста и эстетических соображений эта функция возвращает 1, когда отрисовывается строка прогресса.
- Возвращает:
- значение, представляющее интервал между ячейками
- См. также:
setCellLength
protected void setCellLength(int cellLen)
Устанавливает длину ячейки.
- Параметры:
-
cellLen- новая длина ячейки
getCellSpacing
protected int getCellSpacing()
Возвращает интервал между каждой из ячеек/блоков в полосе прогресса. Однако для упрощения отрисовки текста и эстетических соображений эта функция возвращает 0, когда отрисовывается строка прогресса.
- Возвращает:
- значение, представляющее интервал между ячейками
- См. также:
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- контекст отрисовки -
c- компонент, который отрисовывается; этот аргумент часто игнорируется, но может быть использован, если объект UI является бессостоятельным и используется несколькими компонентами - См. также:
getBox
protected Rectangle getBox(Rectangle r)
Хранит положение и размер прыгающего прямоугольника, который будет отрисовываться для текущего индекса анимации в
r и возвращает r. Подклассы, добавляющие к отрисовке, выполненной в реализации этого класса paintIndeterminate (например, для рисования контура вокруг прыгающего прямоугольника), могут использовать этот метод для получения местоположения прыгающего прямоугольника, который был только что отрисован. Переопределив этот метод, вы получаете полный контроль над размером и положением прыгающего прямоугольника без необходимости переписывать paintIndeterminate.- Параметры:
-
r- экземпляр Rectangle для изменения; может бытьnull - Возвращает:
-
nullесли прямоугольник не должен быть нарисован; в противном случае возвращает переданный прямоугольник (если он не null) или новый прямоугольник - С:
- 1.4
- См. также:
getBoxLength
protected int getBoxLength(int availableLength, int otherDimension)
Возвращает длину «прямоугольника анимации», который будет нарисован. Этот метод вызывается реализацией по умолчанию
paintIndeterminate для получения ширины (если полоса прогресса горизонтальная) или высоты (если вертикальная) прямоугольника. Например:
boxRect.width = getBoxLength(componentInnards.width,
componentInnards.height);
- Параметры:
-
availableLength- количество места, доступного для перемещения прямоугольника анимации; для горизонтальной полосы прогресса, например, это должна быть внутренняя ширина полосы прогресса (ширина компонента минус границы) -
otherDimension- для горизонтальной полосы прогресса, это должна быть внутренняя высота полосы прогресса; это значение может использоваться для ограничения или определения возвращаемого значения - Возвращает:
- размер определяемой размерности прямоугольника; не должно быть больше
availableLength - С:
- 1.5
- См. также:
paintIndeterminate
protected void paintIndeterminate(Graphics g, JComponent c)
Метод рисования общего назначения, который должен правильно работать со всеми линейными полосами прогресса с анимацией прямоугольника. Переопределите этот метод, если вы создаёте другой вид полосы прогресса.
- Параметры:
-
g- экземплярGraphics -
c- компонент - С:
- 1.4
- См. также:
paintDeterminate
protected void paintDeterminate(Graphics g, JComponent c)
Метод рисования общего назначения, который должен правильно работать практически со всеми линейными, детерминированными полосами прогресса. Установив несколько значений в таблице по умолчанию, всё должно работать нормально для рисования вашей полосы прогресса. Естественно, переопределите этот метод, если вы создаёте круговую или полукруговую полосу прогресса.
- Параметры:
-
g- экземплярGraphics -
c- компонент - С:
- 1.4
- См. также:
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- компонент, минимальный размер которого запрашивается; этот аргумент часто игнорируется, но может быть использован, если объект UI является бессостоятельным и используется несколькими компонентами - Возвращает:
- объект
Dimensionилиnull - См. также:
getAnimationIndex
protected int getAnimationIndex()
Получает индекс текущей кадра анимации.
- Возвращает:
- индекс текущей кадра анимации
- С:
- 1.4
getFrameCount
protected final int getFrameCount()
Возвращает количество кадров для полного цикла анимации, используемой недетерминированной JProgessBar. Часть прогресса будет перемещаться с одного конца на другой и обратно во время всего цикла. Это визуальное поведение может быть изменено подклассами в других Look and Feels.
- Возвращает:
- количество кадров
- С:
- 1.6
setAnimationIndex
protected void setAnimationIndex(int newValue)
Устанавливает индекс текущего кадра анимации на указанное значение и запрашивает перерисовку полосы прогресса. Подклассы, не использующие стандартный код рисования, могут потребоваться переопределить этот метод, чтобы изменить способ вызова метода
repaint.- Параметры:
-
newValue- новый индекс анимации; проверка его значения не выполняется - С:
- 1.4
- См. также:
incrementAnimationIndex
protected void incrementAnimationIndex()
Устанавливает индекс текущего кадра анимации на следующее допустимое значение, что приводит к перерисовке полосы прогресса. Следующее допустимое значение, по умолчанию, равно текущему индексу анимации плюс единица. Если новое значение будет слишком большим, этот метод устанавливает индекс в 0. Подклассы могут потребоваться переопределить этот метод, чтобы убедиться, что индекс не превышает количество кадров, необходимое для конкретного экземпляра полосы прогресса. Этот метод вызывается фоновым потоком анимации каждые X миллисекунд, где X задаётся значением по умолчанию «ProgressBar.repaintInterval».
- С:
- 1.4
- См. также:
© 1993, 2023, 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/21/docs/api/java.desktop/javax/swing/plaf/basic/BasicProgressBarUI.html