Класс BasicScrollPaneUI
- java.lang.Object
-
- javax.swing.plaf.ComponentUI
-
- javax.swing.plaf.ScrollPaneUI
-
- javax.swing.plaf.basic.BasicScrollPaneUI
- Все реализованные интерфейсы:
- ScrollPaneConstants
- Прямые известные подклассы:
- MetalScrollPaneUI, SynthScrollPaneUI
public class BasicScrollPaneUI extends ScrollPaneUI implements ScrollPaneConstants
Реализация по умолчанию L&F для ScrollPaneUI.
Вложенные классы
| Модификатор и тип | Класс и описание |
|---|---|
class |
BasicScrollPaneUI.HSBChangeListener Прослушиватель горизонтальной полосы прокрутки. |
protected class |
BasicScrollPaneUI.MouseWheelHandler MouseWheelHandler — внутренний класс, реализующий интерфейс MouseWheelListener. |
class |
BasicScrollPaneUI.PropertyChangeHandler |
class |
BasicScrollPaneUI.ViewportChangeHandler Прослушиватель событий области просмотра. |
class |
BasicScrollPaneUI.VSBChangeListener Прослушиватель вертикальной полосы прокрутки. |
Поля
| Модификатор и тип | Поле и описание |
|---|---|
protected ChangeListener |
hsbChangeListener |
protected JScrollPane |
scrollpane |
protected PropertyChangeListener |
spPropertyChangeListener |
protected ChangeListener |
viewportChangeListener |
protected ChangeListener |
vsbChangeListener |
Поля, унаследованные от интерфейса javax.swing.ScrollPaneConstants
COLUMN_HEADER, HORIZONTAL_SCROLLBAR, HORIZONTAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBAR_AS_NEEDED, HORIZONTAL_SCROLLBAR_NEVER, HORIZONTAL_SCROLLBAR_POLICY, LOWER_LEADING_CORNER, LOWER_LEFT_CORNER, LOWER_RIGHT_CORNER, LOWER_TRAILING_CORNER, ROW_HEADER, UPPER_LEADING_CORNER, UPPER_LEFT_CORNER, UPPER_RIGHT_CORNER, UPPER_TRAILING_CORNER, VERTICAL_SCROLLBAR, VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, VERTICAL_SCROLLBAR_NEVER, VERTICAL_SCROLLBAR_POLICY, VIEWPORT Конструкторы
| Конструктор и описание |
|---|
BasicScrollPaneUI() |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
protected ChangeListener |
createHSBChangeListener() |
protected MouseWheelListener |
createMouseWheelListener() Создаёт экземпляр MouseWheelListener, который добавляется к JScrollPane методом installUI(). |
protected PropertyChangeListener |
createPropertyChangeListener() Создаёт экземпляр PropertyChangeListener, который добавляется к JScrollPane методом installUI(). |
static ComponentUI |
createUI(JComponent x) |
protected ChangeListener |
createViewportChangeListener() |
protected ChangeListener |
createVSBChangeListener() |
int |
getBaseline(JComponent c,
int width,
int height) Возвращает базу. |
Component.BaselineResizeBehavior |
getBaselineResizeBehavior(JComponent c) Возвращает перечисление, указывающее, как изменяется база компонента при изменении размера. |
Dimension |
getMaximumSize(JComponent c) Возвращает максимальный размер указанного компонента, подходящий для темы. |
protected void |
installDefaults(JScrollPane scrollpane) |
protected void |
installKeyboardActions(JScrollPane c) |
protected void |
installListeners(JScrollPane c) |
void |
installUI(JComponent x) Настраивает указанный компонент соответствующим образом для темы. |
void |
paint(Graphics g,
JComponent c) Рисует указанный компонент соответствующим образом для темы. |
protected void |
syncScrollPaneWithViewport() |
protected void |
uninstallDefaults(JScrollPane c) |
protected void |
uninstallKeyboardActions(JScrollPane c) |
protected void |
uninstallListeners(JComponent c) |
void |
uninstallUI(JComponent c) Отменяет настройку, выполненную для указанного компонента в ходе |
protected void |
updateColumnHeader(PropertyChangeEvent e) |
protected void |
updateRowHeader(PropertyChangeEvent e) |
protected void |
updateScrollBarDisplayPolicy(PropertyChangeEvent e) |
protected void |
updateViewport(PropertyChangeEvent e) |
Методы, унаследованные от класса javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, getMinimumSize, getPreferredSize, update Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Поля
scrollpane
protected JScrollPane scrollpane
слушательИзмененийVSB
protected ChangeListener vsbChangeListener
слушательИзмененийHSB
protected ChangeListener hsbChangeListener
слушательИзмененийViewport
protected ChangeListener viewportChangeListener
слушательСвойствSp
protected PropertyChangeListener spPropertyChangeListener
Конструкторы
BasicScrollPaneUI
public BasicScrollPaneUI()
Методы
createUI
public static ComponentUI createUI(JComponent x)
paint
public void paint(Graphics g,
JComponent c) Описание, скопированное из класса: ComponentUI
Рисует указанный компонент должным образом для темы. Этот метод вызывается из метода ComponentUI.update при рисовании указанного компонента. Подклассы должны переопределять этот метод и использовать указанный объект Graphics для рендеринга содержимого компонента.
- Переопределяет:
-
paintв классеComponentUI - Параметры:
-
g- контекстGraphicsдля рисования -
c- компонент, который рисуется; этот аргумент часто игнорируется, но может быть использован, если объект UI является бессостоятельным и используется несколькими компонентами - См. также:
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)
getMaximumSize
public Dimension getMaximumSize(JComponent c)
Описание, скопированное из класса: ComponentUI
Возвращает максимальный размер указанного компонента, подходящий для темы. Если null возвращается, максимальный размер будет рассчитан менеджером компоновки компонента вместо этого (это предпочтительный подход для любого компонента со установленным менеджером компоновки). Стандартная реализация этого метода вызывает getPreferredSize и возвращает это значение.
- Переопределяет:
-
getMaximumSizeв классеComponentUI - Параметры:
-
c- компонент, максимальный размер которого запрашивается; этот аргумент часто игнорируется, но может быть использован, если объект UI является бессостоятельным и используется несколькими компонентами - Возвращает:
- new Dimension(Short.MAX_VALUE, Short.MAX_VALUE)
- См. также:
-
JComponent.getMaximumSize(),LayoutManager2.maximumLayoutSize(java.awt.Container)
installDefaults
protected void installDefaults(JScrollPane scrollpane)
installListeners
protected void installListeners(JScrollPane c)
installДействияКлавиатуры
protected void installKeyboardActions(JScrollPane c)
installUI
public void installUI(JComponent x)
Описание, скопированное из класса: ComponentUI
Настраивает указанный компонент должным образом для темы. Этот метод вызывается, когда экземпляр ComponentUI устанавливается в качестве делегата UI для указанного компонента. Этот метод должен полностью настроить компонент для темы, включая следующее:
- Установить значения по умолчанию свойств цвета, шрифтов, границ, значков, непрозрачности и т. д. для компонента. По возможности, значения свойств, инициализированные клиентом, не должны переопределяться.
- Установить
LayoutManagerна компоненте, если необходимо. - Создать/добавить все необходимые подкомпоненты к компоненту.
- Создать/установить обработчики событий на компоненте.
- Создать/установить
PropertyChangeListenerна компоненте, чтобы корректно обнаруживать и реагировать на изменения свойств компонента. - Установить пользовательский интерфейс клавиатуры (мнемоники, перемещение и т. д.) на компоненте.
- Инициализировать все соответствующие данные экземпляра.
- Переопределяет:
-
installUIв классеComponentUI - Параметры:
-
x- компонент, на котором устанавливается этот делегат UI - См. также:
-
ComponentUI.uninstallUI(javax.swing.JComponent),JComponent.setUI(javax.swing.plaf.ComponentUI),JComponent.updateUI()
uninstallDefaults
protected void uninstallDefaults(JScrollPane c)
uninstallListeners
protected void uninstallListeners(JComponent c)
uninstallДействияКлавиатуры
protected void uninstallKeyboardActions(JScrollPane c)
uninstallUI
public void uninstallUI(JComponent c)
Описание, скопированное из класса: ComponentUI
Отменяет конфигурацию, выполненную над указанным компонентом во время installUI. Этот метод вызывается, когда этот экземпляр UIComponent удаляется в качестве делегата UI для указанного компонента. Этот метод должен отменить конфигурацию, выполненную в installUI, тщательно сохраняя экземпляр JComponent в чистоте (без лишних слушателей, специфичных для темы объектов свойств и т. д.). Это должно включать в себя следующее:
- Удалить любые установленные UI границы у компонента.
- Удалить любые установленные UI менеджеры компоновки у компонента.
- Удалить любые добавленные UI подкомпоненты у компонента.
- Удалить любые добавленные UI слушатели событий/свойств у компонента.
- Удалить любой установленный UI клавиатуры у компонента.
- Обнулить любые выделенные объекты данных экземпляра, чтобы разрешить сборку мусора.
- Переопределяет:
-
uninstallUIв классеComponentUI - Параметры:
-
c- компонент, из которого удаляется этот делегат UI; этот аргумент часто игнорируется, но может быть использован, если объект UI является бессостоятельным и используется несколькими компонентами - См. также:
-
ComponentUI.installUI(javax.swing.JComponent),JComponent.updateUI()
синхронизироватьScrollPaneСViewport
protected void syncScrollPaneWithViewport()
getBaseline
public int getBaseline(JComponent c,
int width,
int height) Возвращает базовую линию.
- Переопределяет:
-
getBaselineв классеComponentUI - Параметры:
-
c- компонент, для которого запрашивается базовая линия -
width- ширина для получения базовой линии -
height- высота для получения базовой линии - Возвращает:
- базовую линию или значение < 0, указывающее, что нет разумной базовой линии
- Имеет исключения:
-
NullPointerException- еслиcявляетсяnull -
IllegalArgumentException- если ширина или высота < 0 - С тех пор:
- 1.6
- См. также:
JComponent.getBaseline(int, int)
getBaselineResizeBehavior
public Component.BaselineResizeBehavior getBaselineResizeBehavior(JComponent c)
Возвращает перечисление, указывающее, как базовая линия компонента изменяется при изменении размера.
- Переопределяет:
-
getBaselineResizeBehaviorв классеComponentUI - Параметры:
-
c- компонент, для которого нужно получить поведение изменения базовой линии - Возвращает:
- перечисление, указывающее, как изменяется базовая линия при изменении размера компонента
- Имеет исключения:
-
NullPointerException- еслиcявляетсяnull - С тех пор:
- 1.6
- См. также:
JComponent.getBaseline(int, int)
создатьСлушательИзмененийViewport
protected ChangeListener createViewportChangeListener()
создатьСлушательИзмененийHSB
protected ChangeListener createHSBChangeListener()
создатьСлушательИзмененийVSB
protected ChangeListener createVSBChangeListener()
создатьСлушательКолесаМыши
protected MouseWheelListener createMouseWheelListener()
Создает экземпляр MouseWheelListener, который добавляется к JScrollPane методом installUI(). Возвращаемый MouseWheelListener используется для обработки прокрутки колесом мыши.
- Возвращает:
- MouseWheelListener, реализующий прокрутку колесом мыши
- С тех пор:
- 1.4
- См. также:
-
installUI(javax.swing.JComponent),BasicScrollPaneUI.MouseWheelHandler
обновитьПолитикуОтображенияСкроллбара
protected void updateScrollBarDisplayPolicy(PropertyChangeEvent e)
обновитьViewport
protected void updateViewport(PropertyChangeEvent e)
обновитьЗаголовокСтрок
protected void updateRowHeader(PropertyChangeEvent e)
обновитьЗаголовокСтолбцов
protected void updateColumnHeader(PropertyChangeEvent e)
создатьСлушательСвойств
protected PropertyChangeListener createPropertyChangeListener()
Создает экземпляр PropertyChangeListener, который добавляется к JScrollPane методом installUI(). Подклассы могут переопределять этот метод, чтобы вернуть настраиваемого PropertyChangeListener, например
class MyScrollPaneUI extends BasicScrollPaneUI {
protected PropertyChangeListener createPropertyChangeListener() {
return new MyPropertyChangeListener();
}
public class MyPropertyChangeListener extends PropertyChangeListener {
public void propertyChange(PropertyChangeEvent e) {
if (e.getPropertyName().equals("viewport")) {
// do some extra work when the viewport changes
}
super.propertyChange(e);
}
}
}
© 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.