Spec-Zone.ru › OpenJDK 8

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

Хранит позицию и размер прямоугольника, который будет отрисован для текущего индекса кадра анимации в r, и возвращает r.

protected int getBoxLength(int availableLength, int otherDimension)

Возвращает длину «прямоугольника анимации», который нужно нарисовать.

protected int getCellLength()

Возвращает ширину (если ГОРИЗОНТАЛЬНО) или высоту (если ВЕРТИКАЛЬНО) каждой из отдельных ячеек/единиц, которые нужно отобразить в полосе прогресса.

protected int getCellSpacing()

Возвращает интервал между каждой из ячеек/единиц в полосе прогресса.

protected int getFrameCount()

Возвращает количество кадров для полного цикла анимации, используемого для неопределённой JProgessBar.

Dimension getMaximumSize(JComponent c)

Возвращает максимальный размер для указанного компонента, подходящий для выбранного внешнего вида.

Dimension getMinimumSize(JComponent c)

Минимальный размер для этого компонента — 10.

protected Dimension getPreferredInnerHorizontal()
protected Dimension getPreferredInnerVertical()
Dimension getPreferredSize(JComponent c)

Возвращает предпочтительный размер для указанного компонента, подходящий для выбранного внешнего вида.

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 installUI(JComponent c)

Настраивает указанный компонент для выбранного внешнего вида.

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

Удаляет все установленные этим объектом слушатели.

void uninstallUI(JComponent c)

Отменяет настройки, которые были выполнены на указанном компоненте во время installUI.

Методы, унаследованные от класса javax.swing.plaf.ComponentUI

contains, getAccessibleChild, getAccessibleChildrenCount, update

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

progressBar

protected JProgressBar progressBar

changeListener

protected ChangeListener changeListener

boxRect

protected Rectangle boxRect

Используется для хранения местоположения и размера прыгающего прямоугольника (возвращаемого методом getBox), который будет отрисован.

Since:
1.5

Конструкторы

BasicProgressBarUI

public BasicProgressBarUI()

Методы

createUI

public static ComponentUI createUI(JComponent x)

installUI

public void installUI(JComponent c)

Описание скопировано из класса: ComponentUI

Настраивает указанный компонент соответствующим образом для внешнего вида. Этот метод вызывается, когда экземпляр ComponentUI устанавливается в качестве делегата UI для указанного компонента. Этот метод должен полностью настроить компонент для внешнего вида, включая следующее:

  1. Установка значений свойств по умолчанию для цвета, шрифтов, границ, иконок, непрозрачности и т. д. на компоненте. Значения свойств, инициализированные программой клиента, по возможности не должны переопределяться.
  2. Установка LayoutManager на компоненте, если необходимо.
  3. Создание/добавление любых необходимых подкомпонентов в компонент.
  4. Создание/установка обработчиков событий на компоненте.
  5. Создание/установка обработчика PropertyChangeListener на компоненте для надлежащего обнаружения и реагирования на изменения свойств компонента.
  6. Установка пользовательского интерфейса клавиатуры (мнемоники, перемещение по элементам и т. д.) на компоненте.
  7. Инициализация любых соответствующих данных экземпляра.

Overrides:
installUI в классе ComponentUI
Parameters:
c - компонент, в котором устанавливается этот делегат UI
See Also:
ComponentUI.uninstallUI(javax.swing.JComponent), JComponent.setUI(javax.swing.plaf.ComponentUI), JComponent.updateUI()

uninstallUI

public void uninstallUI(JComponent c)

Описание скопировано из класса: ComponentUI

Отменяет конфигурацию, выполненную на указанном компоненте во время installUI. Этот метод вызывается, когда этот экземпляр UIComponent удаляется как делегат UI для указанного компонента. Этот метод должен отменить конфигурацию, выполненную в installUI, внимательно сохраняя экземпляр JComponent в чистовом состоянии (без лишних слушателей, специфичных для внешнего вида объектов свойств и т. д.). Это должно включать следующее:

  1. Удаление установленных внешним видом границ из компонента.
  2. Удаление установленных внешним видом менеджеров компоновки из компонента.
  3. Удаление добавленных внешним видом подкомпонентов из компонента.
  4. Удаление добавленных внешним видом обработчиков событий/свойств из компонента.
  5. Удаление установленного внешним видом пользовательского интерфейса клавиатуры из компонента.
  6. Сброс всех выделенных объектов данных экземпляра для освобождения памяти.

Overrides:
uninstallUI в классе ComponentUI
Parameters:
c - компонент, из которого удаляется этот делегат UI; этот аргумент часто игнорируется, но может использоваться, если объект UI является бессостоятельным и используется несколькими компонентами
See Also:
ComponentUI.installUI(javax.swing.JComponent), JComponent.updateUI()

installDefaults

protected void installDefaults()

uninstallDefaults

protected void uninstallDefaults()

installListeners

protected void installListeners()

startAnimationTimer

protected void startAnimationTimer()

Запускает поток анимации, создавая и инициализируя его при необходимости. Этот метод вызывается, когда должна начаться анимация полосы прогресса неопределенного типа. Причины могут включать:

  • Полоса прогресса детерминирована и становится отображаемой
  • Полоса прогресса отображается и становится детерминированной
  • Полоса прогресса отображается, детерминирована и этот UI установлен
Если вы реализуете свой собственный поток анимации, вы должны переопределить этот метод.

Since:
1.4
See Also:
stopAnimationTimer()

stopAnimationTimer

protected void stopAnimationTimer()

Останавливает поток анимации. Этот метод вызывается, когда анимация неопределенного типа должна быть остановлена. Причины могут включать:

  • Полоса прогресса изменяется на детерминированную
  • Полоса прогресса больше не является частью отображаемой иерархии
  • Этот UI удален
Если вы реализуете свой собственный поток анимации, вы должны переопределить этот метод.

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

getPreferredInnerVertical

protected Dimension getPreferredInnerVertical()

getSelectionForeground

protected Color getSelectionForeground()

«selectionForeground» — цвет текста, когда он нарисован поверх залитой области полосы прогресса.

getSelectionBackground

protected Color getSelectionBackground()

«selectionBackground» — цвет текста, когда он нарисован поверх незаполненной области полосы прогресса.

getCellLength

protected int getCellLength()

Возвращает ширину (если ГОРИЗОНТАЛЬНО) или высоту (если ВЕРТИКАЛЬНО) каждого отдельного элемента/единицы, которые будут отрисованы в полосе прогресса. Однако для упрощения рендеринга текста и эстетических соображений эта функция вернёт 1 при отрисовке прогресс-строки.

Returns:
значение, представляющее интервал между элементами
See Also:
setCellLength(int), JProgressBar.isStringPainted()

setCellLength

protected void setCellLength(int cellLen)

getCellSpacing

protected int getCellSpacing()

Возвращает интервал между каждыми элементами/единицами в полосе прогресса. Однако для упрощения рендеринга текста и эстетических соображений эта функция вернёт 0 при отрисовке прогресс-строки.

Returns:
значение, представляющее интервал между элементами
See Also:
setCellSpacing(int), JProgressBar.isStringPainted()

setCellSpacing

protected void setCellSpacing(int cellSpace)

getAmountFull

protected int getAmountFull(Insets b,
                            int width,
                            int height)

Определяет количество заполненной полосы прогресса, основанное на процентах выполнения, полученных от модели. Это часто используемая операция, поэтому она была абстрагирована. Предполагается, что ваша полоса прогресса линейная. То есть, если вы создаёте индикатор круговой прогрессии, вам нужно переопределить этот метод.

paint

public void paint(Graphics g,
                  JComponent c)

Делегирует отрисовку одному из двух методов: paintDeterminate или paintIndeterminate.

Overrides:
paint в классе ComponentUI
Parameters:
g - контекст Graphics для отрисовки
c - компонент, который рисуется; этот аргумент часто игнорируется, но может использоваться, если объект UI является бессостоятельным и используется несколькими компонентами
See Also:
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)

getBox

protected Rectangle getBox(Rectangle r)

Сохраняет положение и размер прыгающего прямоугольника, который будет нарисован для текущего индекса анимации в r и возвращает r. Подклассы, добавляющие к отрисовке, выполняемой в реализации этого класса paintIndeterminate (например, для отрисовки контура вокруг прыгающего прямоугольника), могут использовать этот метод для получения местоположения прыгающего прямоугольника, который только что был нарисован. Переопределяя этот метод, вы получаете полный контроль над размером и положением прыгающего прямоугольника, без необходимости повторной реализации paintIndeterminate.

Parameters:
r - экземпляр Rectangle, который будет изменён; может быть null
Returns:
null если прямоугольник не должен быть нарисован; в противном случае возвращает переданный прямоугольник (если он не null) или новый прямоугольник
Since:
1.4
See Also:
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)

Метод рисования общего назначения, который должен правильно работать для всех линейных полос прогресса с отскакивающей рамкой. Переопределите этот метод, если вы создаёте другой тип полосы прогресса.

С:
1.4
См. также:
paintDeterminate(java.awt.Graphics, javax.swing.JComponent)

paintDeterminate

protected void paintDeterminate(Graphics g,
                                JComponent 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)

getStringPlacement

protected Point getStringPlacement(Graphics g,
                                   String progressString,
                                   int x,
                                   int y,
                                   int width,
                                   int height)

Указывает место, где будет нарисована строка прогресса. Эта реализация размещает её в центре полосы прогресса (по обеим осям). Переопределите этот метод, если хотите выровнять строку прогресса по правому, левому краю, верху или низу, или если вам нужно её сместить по каким-либо причинам.

getPreferredSize

public Dimension getPreferredSize(JComponent c)

Описание скопировано из класса: ComponentUI

Возвращает предпочтительный размер указанного компонента, соответствующий выбранному внешнему виду. Если возвращается null, предпочтительный размер будет вычислен менеджером компоновки компонента (это предпочтительный подход для любого компонента с установленным менеджером компоновки). По умолчанию этот метод возвращает null.

Переопределяет:
getPreferredSize в классе ComponentUI
Параметры:
c - компонент, предпочтительный размер которого запрашивается; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами
См. также:
JComponent.getPreferredSize(), LayoutManager.preferredLayoutSize(java.awt.Container)

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)

getMaximumSize

public Dimension getMaximumSize(JComponent c)

Описание скопировано из класса: ComponentUI

Возвращает максимальный размер указанного компонента, соответствующий выбранному внешнему виду. Если возвращается null, максимальный размер будет вычислен менеджером компоновки компонента (это предпочтительный подход для любого компонента с установленным менеджером компоновки). По умолчанию эта реализация вызывает getPreferredSize и возвращает это значение.

Переопределяет:
getMaximumSize в классе ComponentUI
Параметры:
c - компонент, максимальный размер которого запрашивается; этот аргумент часто игнорируется, но может использоваться, если объект пользовательского интерфейса является бессостоятельным и используется несколькими компонентами
Возвращает:
объект Dimension или null
См. также:
JComponent.getMaximumSize(), LayoutManager2.maximumLayoutSize(java.awt.Container)

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" пользовательского интерфейса.

С:
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.

Spec-Zone.ru

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