Класс BasicProgressBarUI
java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.ProgressBarUI
javax.swing.plaf.basic.BasicProgressBarUI
- Прямые известные подклассы:
-
MetalProgressBarUI,SynthProgressBarUI
public class BasicProgressBarUI extends ProgressBarUI
Реализация Basic L&F для 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() |
Возвращает количество кадров для полного цикла анимации, используемого неопределённой JProgressBar. |
Dimension |
getMinimumSize |
Минимальный размер для этого компонента составляет 10. |
protected Dimension |
getPreferredInnerHorizontal() |
Возвращает предпочтительный размер горизонтальной JProgressBar. |
protected Dimension |
getPreferredInnerVertical() |
Возвращает предпочтительный размер вертикальной JProgressBar. |
protected Color |
getSelectionBackground() |
Цвет "фона выбора" — это цвет текста, когда он нарисован поверх неокрашенной области полосы прогресса. |
protected Color |
getSelectionForeground() |
Цвет "предка выбора" — это цвет текста, когда он нарисован поверх заполненной области полосы прогресса. |
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) для рисования.
- Since:
- 1.5
Подробное описание конструкторов
BasicProgressBarUI
public BasicProgressBarUI()
Создаёт
BasicProgressBarUI.Подробное описание методов
createUI
public static ComponentUI createUI(JComponent x)
Возвращает новый экземпляр
BasicProgressBarUI.- Parameters:
-
x- компонент - Returns:
- новый экземпляр
BasicProgressBarUI
installDefaults
protected void installDefaults()
Устанавливает значения по умолчанию.
uninstallDefaults
protected void uninstallDefaults()
Удаляет значения по умолчанию.
installListeners
protected void installListeners()
Регистрирует слушателей.
startAnimationTimer
protected void startAnimationTimer()
Запускает поток анимации, создавая и инициализируя его при необходимости. Этот метод вызывается, когда полоса прогресса с неопределённым значением должна начать анимацию. Причины могут включать:
- Полоса прогресса определённая и стала отображаемой
- Полоса прогресса отображаемая и стала определённой
- Полоса прогресса отображаемая и определённая, и этот интерфейс установлен
- Since:
- 1.4
- See Also:
stopAnimationTimer
protected void stopAnimationTimer()
Останавливает поток анимации. Этот метод вызывается, когда анимация неопределённого значения должна быть остановлена. Причины могут включать:
- Полоса прогресса меняется на определённую
- Полоса прогресса больше не является частью отображаемой иерархии
- Этот интерфейс удалён
- Since:
- 1.4
- See Also:
uninstallListeners
protected void uninstallListeners()
Удаляет все слушатели, установленные этим объектом.
getBaseline
public int getBaseline(JComponent c, int width, int height)
Возвращает линию базового выравнивания.
- Overrides:
-
getBaselineв классеComponentUI - Parameters:
-
c-JComponentкомпонент, для которого запрашивается линия базового выравнивания -
width- ширина для получения линии базового выравнивания -
height- высота для получения линии базового выравнивания - Returns:
- строка базового выравнивания или значение < 0, указывающее, что нет разумной линии базового выравнивания
- Throws:
-
NullPointerException- еслиcявляетсяnull -
IllegalArgumentException- если ширина или высота < 0 - Since:
- 1.6
- See Also:
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
Возвращает перечисление, указывающее, как линия базового выравнивания компонента изменяется при изменении размера.
- Overrides:
-
getBaselineResizeBehaviorв классеComponentUI - Parameters:
-
c-JComponentкомпонент, для которого нужно вернуть поведение изменения линии базового выравнивания - Returns:
- перечисление, указывающее, как изменяется линия базового выравнивания при изменении размера компонента
- Throws:
-
NullPointerException- еслиcявляетсяnull - Since:
- 1.6
- See Also:
getPreferredInnerHorizontal
protected Dimension getPreferredInnerHorizontal()
Возвращает предпочтительный размер горизонтальной
JProgressBar.- Returns:
- предпочтительный размер горизонтальной
JProgressBar
getPreferredInnerVertical
protected Dimension getPreferredInnerVertical()
Возвращает предпочтительный размер вертикальной
JProgressBar.- Returns:
- предпочтительный размер вертикальной
JProgressBar
getSelectionForeground
protected Color getSelectionForeground()
Цвет "selectionForeground" - цвет текста, когда он нарисован поверх заполненной области полосы прогресса.
- Returns:
- цвет выделенного переднего плана
getSelectionBackground
protected Color getSelectionBackground()
Цвет "selectionBackground" - цвет текста, когда он нарисован поверх незаполненной области полосы прогресса.
- Returns:
- цвет выделенного фона
getCellLength
protected int getCellLength()
Возвращает ширину (если ГОРИЗОНТАЛЬНО) или высоту (если ВЕРТИКАЛЬНО) каждой из отдельных ячеек/единиц, которые будут отображаться в полосе прогресса. Однако для упрощения обработки текста и эстетических соображений эта функция вернёт 1, когда рендерится строка прогресса.
- Returns:
- значение, представляющее расстояние между ячейками
- See Also:
setCellLength
protected void setCellLength(int cellLen)
Устанавливает длину ячейки.
- Parameters:
-
cellLen- новая длина ячейки
getCellSpacing
protected int getCellSpacing()
Возвращает расстояние между каждой из ячеек/единиц в полосе прогресса. Однако для упрощения обработки текста и эстетических соображений эта функция вернёт 0, когда рендерится строка прогресса.
- Returns:
- значение, представляющее расстояние между ячейками
- See Also:
setCellSpacing
protected void setCellSpacing(int cellSpace)
Устанавливает расстояние между ячейками.
- Parameters:
-
cellSpace- новое расстояние между ячейками
getAmountFull
protected int getAmountFull(Insets b, int width, int height)
Определяет количество полосы прогресса, которое должно быть заполнено на основе процента выполнения, полученного от модели. Это общая операция, поэтому она была выделена. Предполагается, что ваша полоса прогресса линейная. То есть, если вы создаёте круговую индикатор прогресса, вам следует переопределить этот метод.
- Parameters:
-
b- отступы -
width- ширина -
height- высота - Returns:
- количество полосы прогресса, которое должно быть заполнено
paint
public void paint(Graphics g, JComponent c)
Делегирует отрисовку одному из двух методов: paintDeterminate или paintIndeterminate.
- Overrides:
-
paintв классеComponentUI - Parameters:
-
g- контекстGraphics, в котором нужно выполнить отрисовку -
c- компонент, который нужно отрисовать; этот аргумент часто игнорируется, но может использоваться, если объект интерфейса состояния не имеет и используется несколькими компонентами - See Also:
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)
Указывает место, где будет нарисована строка прогресса. Эта реализация размещает её в центре полосы прогресса (по x и y). Переопределите этот метод, если нужно выровнять строку справа, слева, сверху или снизу, или если необходимо её сместить по каким-либо причинам.
- Параметры:
-
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()
Возвращает количество кадров для полного цикла анимации, используемой неопределённой полоской прогресса JProgressBar. Блок прогресса будет переходить от одного конца к другому и обратно во время всего цикла. Это визуальное поведение может быть изменено подклассами в других Look and Feels.
- Возвращает:
- количество кадров
- С:
- 1.6
setAnimationIndex
protected void setAnimationIndex(int newValue)
Устанавливает индекс текущего кадра анимации в указанное значение и запрашивает перерисовку полосы прогресса. Подклассы, которые не используют стандартный код рисования, могут нуждаться в переопределении этого метода, чтобы изменить способ вызова метода
repaint.- Параметры:
-
newValue- новый индекс анимации; проверка его значения не производится - С:
- 1.4
- См. также:
incrementAnimationIndex
protected void incrementAnimationIndex()
Устанавливает индекс текущего кадра анимации на следующее допустимое значение, что приводит к перерисовке полосы прогресса. Следующее допустимое значение — по умолчанию текущий индекс анимации плюс один. Если новое значение будет слишком большим, этот метод установит индекс в 0. Подклассы могут переопределить этот метод, чтобы гарантировать, что индекс не превысит количество кадров, необходимых для конкретного экземпляра полосы прогресса. Этот метод вызывается фоновым потоком анимации каждые X миллисекунд, где X задано значением UI по умолчанию «ProgressBar.repaintInterval».
- С:
- 1.4
- См. также:
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/javax/swing/plaf/basic/BasicProgressBarUI.html