Spec-Zone.ru › OpenJDK 25

Класс 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».

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

Модификатор и тип Поле Описание
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

Методы, объявленные в классе 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()
Создает экземпляр 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 в этом классе, например, рисуя контур вокруг перемещающегося блока, могут использовать этот метод, чтобы получить положение только что нарисованного блока. Переопределив этот метод, вы полностью управляете размером и положением перемещающегося блока, не переimplementируя 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. В течение полного цикла индикатор перемещается от одного края к другому и обратно. Другие подклассы в других вариантах оформления могут изменять это визуальное поведение.
Возвращает:
количество кадров
С версии:
1.6

setAnimationIndex

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

incrementAnimationIndex

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзор концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/javax/swing/plaf/basic/BasicProgressBarUI.html

Spec-Zone.ru

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