Класс 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 |
Возвращает новый экземпляр 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()
Запускает поток анимации, создавая и инициализируя его при необходимости. Этот метод вызывается, когда полоса прогресса без определенного значения должна начать анимацию. Причины могут включать:
- Полоса прогресса с определенным значением и стала отображаемой
- Полоса прогресса отображаемая и стала с определенным значением
- Полоса прогресса отображаемая, определенного значения и этот интерфейс установлен
- С момента:
- 1.4
- См. также:
stopAnimationTimer
protected void stopAnimationTimer()
Останавливает поток анимации. Этот метод вызывается, когда анимация неопределенного значения должна быть остановлена. Причины могут включать:
- Полоса прогресса изменяется на определенное значение
- Полоса прогресса больше не является частью отображаемой иерархии
- Этот интерфейс удален
- С момента:
- 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- контекстGraphicsотрисовки -
c- компонент, который рисуется; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса без состояния и используется несколькими компонентами - См. также:
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 Feel.
- Возвращает:
- количество кадров
- С:
- 1.6
setAnimationIndex
protected void setAnimationIndex(int newValue)
Устанавливает индекс текущего кадра анимации на указанное значение и запрашивает перерисовку полоски прогресса. Подклассы, которые не используют код отрисовки по умолчанию, могут нуждаться в переопределении этого метода для изменения того, как вызывается метод
repaint.- Параметры:
-
newValue- новый индекс анимации; проверка его значения не выполняется - С:
- 1.4
- См. также:
incrementAnimationIndex
protected void incrementAnimationIndex()
Устанавливает индекс текущего кадра анимации на следующее допустимое значение, что приводит к перерисовке полоски прогресса. Следующее допустимое значение по умолчанию равно текущему индексу анимации плюс один. Если новое значение будет слишком большим, этот метод устанавливает индекс в 0. Подклассы могут потребоваться переопределить этот метод, чтобы убедиться, что индекс не превысит количество кадров, необходимое для конкретного экземпляра полоски прогресса. Этот метод вызывается потоком анимации по умолчанию каждые X миллисекунд, где X задано значением «ProgressBar.repaintInterval» по умолчанию UI.
- С:
- 1.4
- См. также:
© 1993, 2021, 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/17/docs/api/java.desktop/javax/swing/plaf/basic/BasicProgressBarUI.html