Класс 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 | Экземпляр |
protected JProgressBar | progressBar | Экземпляр |
Конструкторы
| Конструктор | Описание |
|---|---|
BasicProgressBarUI() |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
static ComponentUI | createUI(JComponent x) | Возвращает новый экземпляр |
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) | Сохраняет положение и размер прямоугольника для отрисовки на текущем анимационном кадре в |
protected int | getBoxLength(int availableLength,
int otherDimension) | Возвращает длину прямоугольника для отрисовки. |
protected int | getCellLength() | Возвращает ширину (если ГОРИЗОНТАЛЬНО) или высоту (если ВЕРТИКАЛЬНО) каждого отдельного элемента/блока, подлежащего отрисовке в прогресс-баре. |
protected int | getCellSpacing() | Возвращает расстояние между элементами/блоками в прогресс-баре. |
protected int | getFrameCount() | Возвращает количество кадров для полного цикла анимации, используемого не определяемым JProgessBar. |
Dimension | getMinimumSize(JComponent c) | Минимальный размер компонента — 10. |
protected Dimension | getPreferredInnerHorizontal() | Возвращает предпочтительный размер горизонтального |
protected Dimension | getPreferredInnerVertical() | Возвращает предпочтительный размер вертикального |
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() | Удаляет всех слушателей, установленных этим объектом. |
Методы, объявленные в классе 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).
- С тех пор как:
- 1.5
Подробное описание конструкторов
BasicProgressBarUI
public 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()
stopAnimationTimer
protected void stopAnimationTimer()
Останавливает поток анимации. Этот метод вызывается при остановке анимации неопределённой полосы прогресса. Причины могут включать:
- Полоса прогресса изменяется на определённую
- Полоса прогресса больше не является частью отображаемой иерархии
- Этот интерфейс удалён
- С:
- 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()
Возвращает предпочтительный размер внутренней горизонтальной части.
- Возвращает:
- предпочтительный размер внутренней горизонтальной части
getPreferredInnerVertical
protected Dimension getPreferredInnerVertical()
Возвращает предпочтительный размер внутренней вертикальной части.
- Возвращает:
- предпочтительный размер внутренней вертикальной части
getSelectionForeground
protected Color getSelectionForeground()
«selectionForeground» — цвет текста при его отрисовке поверх залитой области полосы прогресса.
- Возвращает:
- цвет выделенного переднего плана
getSelectionBackground
protected Color getSelectionBackground()
«selectionBackground» — цвет текста при его отрисовке поверх незалитой области полосы прогресса.
- Возвращает:
- цвет выделенного заднего плана
getCellLength
protected int getCellLength()
Возвращает ширину (если ГОРИЗОНТАЛЬНО) или высоту (если ВЕРТИКАЛЬНО) каждой из отдельных ячеек/единиц, подлежащих отрисовке в полосе прогресса. Однако для упрощения отрисовки текста и эстетических соображений эта функция вернёт 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(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) Определяет место, где будет нарисована строка прогресса. Данная реализация размещает ее в центре полосы прогресса (по обеим координатам). Переопределите этот метод, если вам нужно выровнять строку по правому, левому краю, верху или низу, или если необходимо сместить её по каким-либо причинам.
- Параметры:
-
g— экземплярGraphics -
progressString— текст -
x— координата X -
y— координата Y -
width— ширина -
height— высота - Возвращает:
- место, где будет нарисована строка прогресса
getMinimumSize
public Dimension getMinimumSize(JComponent c)
Минимальный размер для этого компонента составляет 10. Это обосновано тем, что должно быть как минимум по одному пикселю на каждые 10 процентов.
- Переопределяет:
-
getMinimumSizeв классеComponentUI - Параметры:
-
c— компонент, для которого запрашивается минимальный размер; этот аргумент часто игнорируется, но может быть использован, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами - Возвращает:
- объект
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()
Возвращает количество кадров для полного цикла анимации, используемого неопределенной полосой прогресса JProgessBar. Часть прогресса будет перемещаться от одного края к другому и обратно в течение всего цикла. Это визуальное поведение может быть изменено подклассами в других визуальных стилях.
- Возвращает:
- количество кадров
- С:
- 1.6
setAnimationIndex
protected void setAnimationIndex(int newValue)
Устанавливает индекс текущего кадра анимации в указанное значение и запрашивает перерисовку полосы прогресса. Подклассы, не использующие стандартный код рисования, могут потребовать переопределения этого метода, чтобы изменить способ вызова метода repaint.
- Параметры:
-
newValue— новое значение индекса анимации; проверка его значения не выполняется - С:
- 1.4
- См. также:
incrementAnimationIndex()
incrementAnimationIndex
protected void incrementAnimationIndex()
Устанавливает индекс текущего кадра анимации на следующее допустимое значение, что приводит к перерисовке полосы прогресса. Следующее допустимое значение по умолчанию — текущий индекс анимации плюс один. Если новое значение окажется слишком большим, этот метод устанавливает индекс в 0. Подклассы могут потребовать переопределения этого метода, чтобы убедиться, что индекс не выходит за пределы количества кадров, необходимого для конкретного экземпляра полосы прогресса. Этот метод вызывается фоновым потоком анимации каждые X миллисекунд, где X задаётся значением «ProgressBar.repaintInterval» в UI-дефолтах.
- С:
- 1.4
- См. также:
setAnimationIndex(int)
© 1993, 2020, 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/11/docs/api/java.desktop/javax/swing/plaf/basic/BasicProgressBarUI.html