Spec-Zone.ru › OpenJDK 24

Класс 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(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 final int getFrameCount()
Возвращает количество кадров для полного цикла анимации, используемого неопределённой JProgressBar.
Dimension getMinimumSize(JComponent c)
Минимальный размер для этого компонента составляет 10.
protected Dimension getPreferredInnerHorizontal()
Возвращает предпочтительный размер горизонтальной JProgressBar.
protected Dimension getPreferredInnerVertical()
Возвращает предпочтительный размер вертикальной JProgressBar.
protected Color getSelectionBackground()
Цвет "фона выбора" — это цвет текста, когда он нарисован поверх неокрашенной области полосы прогресса.
protected Color getSelectionForeground()
Цвет "предка выбора" — это цвет текста, когда он нарисован поверх заполненной области полосы прогресса.
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) для рисования.
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()

stopAnimationTimer

protected void stopAnimationTimer()
Останавливает поток анимации. Этот метод вызывается, когда анимация неопределённого значения должна быть остановлена. Причины могут включать:
  • Полоса прогресса меняется на определённую
  • Полоса прогресса больше не является частью отображаемой иерархии
  • Этот интерфейс удалён
Если вы реализуете свой собственный поток анимации, вы должны переопределить этот метод.
Since:
1.4
See Also:
  • startAnimationTimer()

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:
  • JComponent.getBaseline(int, int)

getBaselineResizeBehavior

public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
Возвращает перечисление, указывающее, как линия базового выравнивания компонента изменяется при изменении размера.
Overrides:
getBaselineResizeBehavior в классе ComponentUI
Parameters:
c - JComponent компонент, для которого нужно вернуть поведение изменения линии базового выравнивания
Returns:
перечисление, указывающее, как изменяется линия базового выравнивания при изменении размера компонента
Throws:
NullPointerException - если c является null
Since:
1.6
See Also:
  • JComponent.getBaseline(int, int)

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(int)
  • JProgressBar.isStringPainted()

setCellLength

protected void setCellLength(int cellLen)
Устанавливает длину ячейки.
Parameters:
cellLen - новая длина ячейки

getCellSpacing

protected int getCellSpacing()
Возвращает расстояние между каждой из ячеек/единиц в полосе прогресса. Однако для упрощения обработки текста и эстетических соображений эта функция вернёт 0, когда рендерится строка прогресса.
Returns:
значение, представляющее расстояние между ячейками
See Also:
  • setCellSpacing(int)
  • JProgressBar.isStringPainted()

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:
  • 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)
Указывает место, где будет нарисована строка прогресса. Эта реализация размещает её в центре полосы прогресса (по 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(java.awt.Container)
  • ComponentUI.getPreferredSize(javax.swing.JComponent)

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

incrementAnimationIndex

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

© 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

Spec-Zone.ru

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