Spec-Zone.ru › OpenJDK 27

Класс 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 для L&F.

Краткое описание вложенных классов

Модификатор и тип Класс Описание
class  BasicProgressBarUI.ChangeHandler
Этот класс следует рассматривать как «защищённый» внутренний класс.

Краткое описание полей

Модификатор и тип Поле Описание
protected Rectangle boxRect
Используется для хранения положения и размера подпрыгивающего блока (возвращается методом getBox), который требуется нарисовать.
protected ChangeListener changeListener
Экземпляр ChangeListener.
protected JProgressBar progressBar
Экземпляр JProgressBar.

Краткое описание конструкторов

Конструктор Описание
BasicProgressBarUI()
Создаёт 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()
Возвращает ширину (если HORIZONTAL) или высоту (если VERTICAL) каждой отдельной ячейки/единицы, отображаемой в индикаторе выполнения.
protected int getCellSpacing()
Возвращает интервал между ячейками/единицами индикатора выполнения.
protected final int getFrameCount()
Возвращает количество кадров полного цикла анимации, используемого неопределённым JProgressBar.
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()
Удаляет всех слушателей, зарегистрированных этим объектом.

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

contains, getAccessibleChild, getAccessibleChildrenCount, getMaximumSize, getPreferredSize, installUI, uninstallUI, update
Модификатор и тип Метод Описание
boolean contains(JComponent c, int x, int y)
Возвращает true, если указанное положение x,y находится внутри формы, заданной оформлением для указанного компонента.
Accessible getAccessibleChild(JComponent c, int i)
Возвращает i-го дочернего элемента объекта с индексом Accessible.
int getAccessibleChildrenCount(JComponent c)
Возвращает количество доступных дочерних элементов объекта.
Dimension getMaximumSize(JComponent c)
Возвращает максимальный размер указанного компонента, соответствующий оформлению.
Dimension getPreferredSize(JComponent c)
Возвращает предпочтительный размер указанного компонента, соответствующий оформлению.
void installUI(JComponent c)
Настраивает указанный компонент в соответствии с оформлением.
void uninstallUI(JComponent c)
Отменяет настройку указанного компонента, выполненную во время installUI.
void update(Graphics g, JComponent c)
Уведомляет этот делегат пользовательского интерфейса о том, что пора отрисовать указанный компонент.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или interrupt либо до истечения определённого промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ждать пробуждения, обычно в результате вызова notify или interrupt либо до истечения определённого промежутка реального времени.

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

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

stopAnimationTimer

protected void stopAnimationTimer()
Останавливает поток анимации. Этот метод вызывается, когда анимацию с неопределённым значением следует остановить. Причины могут быть следующими:
  • Индикатор выполнения переключается на определённое значение
  • Индикатор выполнения больше не является частью отображаемой иерархии
  • Этот UI удаляется
Если вы реализуете собственный поток анимации, необходимо переопределить этот метод.
Начиная с:
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()
Возвращает предпочтительный размер горизонтального 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 — высота
Возвращает:
часть индикатора выполнения, которую следует заполнить

paint

public void paint(Graphics g, JComponent c)
Делегирует отрисовку одному из двух методов: paintDeterminate или paintIndeterminate.
Переопределяет:
paint в классе ComponentUI
Параметры:
g — контекст Graphics, в котором выполняется отрисовка
c — отрисовываемый компонент; этот аргумент часто игнорируется, но может использоваться, если объект UI не хранит состояние и совместно используется несколькими компонентами
См. также:
  • ComponentUI.update(Graphics, 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(JComponent, Rectangle)

paintIndeterminate

protected void paintIndeterminate(Graphics g, JComponent c)
Универсальный метод отрисовки, который должен корректно работать для всех линейных индикаторов выполнения с подпрыгивающим прямоугольником. Переопределите его, если создаёте другой тип индикатора выполнения.
Параметры:
g — экземпляр Graphics
c — компонент
Начиная с:
1.4
См. также:
  • paintDeterminate(Graphics, JComponent)

paintDeterminate

protected void paintDeterminate(Graphics g, JComponent c)
Универсальный метод отрисовки, который должен корректно работать почти для всех линейных индикаторов выполнения с определённым значением. Чтобы отрисовка индикатора выполнения работала правильно, достаточно задать несколько значений в таблице параметров по умолчанию. Разумеется, переопределите этот метод, если создаёте круговой или полукруговой индикатор выполнения.
Параметры:
g — экземпляр Graphics
c — компонент
Начиная с:
1.4
См. также:
  • paintIndeterminate(Graphics, 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)
Определяет место, в котором будет отображаться строка прогресса. Эта реализация размещает её в центре индикатора выполнения (по обеим координатам 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
См. также:
  • JComponent.getMinimumSize()
  • LayoutManager.minimumLayoutSize(Container)
  • ComponentUI.getPreferredSize(JComponent)

getAnimationIndex

protected int getAnimationIndex()
Возвращает индекс текущего кадра анимации.
Возвращает:
индекс текущего кадра анимации
Начиная с:
1.4

getFrameCount

protected final int getFrameCount()
Возвращает количество кадров в полном цикле анимации, используемом в JProgressBar с неопределённым значением. Во время полного цикла индикатор прогресса перемещается от одного края к другому и обратно. Подклассы в других Look and Feel могут изменять это визуальное поведение.
Возвращает:
количество кадров
Начиная с:
1.6

setAnimationIndex

protected void setAnimationIndex(int newValue)
Задаёт указанный индекс текущего кадра анимации и запрашивает перерисовку индикатора выполнения. Подклассам, не использующим код отрисовки по умолчанию, может потребоваться переопределить этот метод, чтобы изменить способ вызова метода repaint.
Параметры:
newValue — новый индекс анимации; проверка его значения не выполняется
Начиная с:
1.4
См. также:
  • incrementAnimationIndex()

incrementAnimationIndex

protected void incrementAnimationIndex()
Задаёт индекс текущего кадра анимации, переходя к следующему допустимому значению, в результате чего индикатор выполнения перерисовывается. По умолчанию следующее допустимое значение — это текущий индекс анимации плюс один. Если новое значение окажется слишком большим, этот метод задаёт индекс 0. Подклассам может потребоваться переопределить этот метод, чтобы индекс не превышал количество кадров, необходимое для конкретного экземпляра индикатора выполнения. Этот метод вызывается потоком анимации по умолчанию каждые X миллисекунд, где X задаётся параметром UI по умолчанию «ProgressBar.repaintInterval».
Начиная с:
1.4
См. также:
  • setAnimationIndex(int)

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API