Класс ScrollPane

Все реализованные интерфейсы:
ImageObserver, MenuContainer, Serializable, Accessible
public class ScrollPane
extends Container
implements Accessible

Класс-контейнер, реализующий автоматическую горизонтальную и/или вертикальную прокрутку для одного дочернего компонента. Политика отображения полос прокрутки может быть установлена следующим образом:

  1. по мере необходимости: полосы прокрутки создаются и отображаются только при необходимости прокрутки
  2. всегда: полосы прокрутки создаются и всегда отображаются прокруткой
  3. никогда: полосы прокрутки никогда не создаются или не отображаются прокруткой

Состояние горизонтальной и вертикальной полос прокрутки представлено двумя ScrollPaneAdjustable объектами (по одному на каждую размерность), которые реализуют интерфейс Adjustable. API предоставляет методы для доступа к этим объектам, позволяя манипулировать атрибутами объекта Adjustable (например, unitIncrement, value и т.д.).

Некоторые свойства Adjustable (минимум, максимум, blockIncrement и visibleAmount) устанавливаются внутри ScrollPane в соответствии с геометрией ScrollPane и его дочернего элемента, и их не следует устанавливать программами, использующими ScrollPane.

Если политика отображения полос прокрутки определена как "никогда", то ScrollPane все равно может быть прокручен программно с помощью метода setScrollPosition(), и ScrollPane будет перемещать и обрезать содержимое дочернего элемента соответствующим образом. Эта политика полезна, если программе необходимо создавать и управлять собственными элементами управления Adjustable.

Размещение полос прокрутки контролируется платформозависимыми свойствами, устанавливаемыми пользователем вне программы.

Начальный размер этого контейнера составляет 100x100, но его можно сбросить с помощью setSize().

Прокрутка колесом мыши (если она есть) включена по умолчанию. Это можно отключить с помощью setWheelScrollingEnabled. Прокрутку колесом можно настроить, установив значения blockIncrement и unitIncrement горизонтальных и вертикальных Adjustable. Сведения о том, как обрабатываются события колесика мыши, см. в описании класса MouseWheelEvent.

Отступы используются для определения любого пространства, используемого полосами прокрутки и границами, созданными ScrollPane. Для получения текущего значения отступов можно использовать getInsets(). Если значение scrollbarsAlwaysVisible равно false, тогда значение отступов будет динамически изменяться в зависимости от того, отображаются ли полосы прокрутки в данный момент.

См. также:
Сериализованная форма

Вложенные классы

Модификатор и тип Класс Описание
protected class  ScrollPane.AccessibleAWTScrollPane

Этот класс реализует поддержку доступности для класса ScrollPane.

Вложенные классы/интерфейсы, объявленные в классе java.awt.Container

Container.AccessibleAWTContainer

Вложенные классы/интерфейсы, объявленные в классе java.awt.Component

Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy

Поля

Модификатор и тип Поле Описание
static int SCROLLBARS_ALWAYS

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

static int SCROLLBARS_AS_NEEDED

Указывает, что горизонтальная/вертикальная полоса прокрутки должна отображаться только тогда, когда размер дочернего элемента превышает размер ScrollPane в горизонтальном/вертикальном измерении.

static int SCROLLBARS_NEVER

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

Поля, объявленные в классе java.awt.Component

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

Поля, объявленные в интерфейсе java.awt.image.ImageObserver

ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH

Краткое описание конструкторов

Конструктор Описание
ScrollPane()

Создает новый контейнер ScrollPane с политикой отображения полос прокрутки "по мере необходимости".

ScrollPane​(int scrollbarDisplayPolicy)

Создает новый контейнер ScrollPane.

Краткое описание методов

Модификатор и тип Метод Описание
protected void addImpl​(Component comp, Object constraints, int index)

Добавляет указанный компонент в этот контейнер ScrollPane.

void addNotify()

Создает псевдоним ScrollPane.

void doLayout()

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

protected boolean eventTypeEnabled​(int type)

Если прокрутка колесом включена, возвращаем true для MouseWheelEvents

AccessibleContext getAccessibleContext()

Возвращает AccessibleContext, связанный с этим ScrollPane.

Adjustable getHAdjustable()

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

int getHScrollbarHeight()

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

int getScrollbarDisplayPolicy()

Возвращает политику отображения полос прокрутки.

Point getScrollPosition()

Возвращает текущие координаты x, y внутри дочернего элемента, которые отображаются в координатах 0,0 порта просмотра прокручиваемого элемента.

Adjustable getVAdjustable()

Возвращает объект ScrollPaneAdjustable, представляющий состояние вертикальной полосы прокрутки.

Dimension getViewportSize()

Возвращает текущий размер порта просмотра ScrollPane.

int getVScrollbarWidth()

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

boolean isWheelScrollingEnabled()

Указывает, будет ли происходить прокрутка в ответ на движение колесика мыши.

void layout()

Устарело.

Начиная с версии JDK 1.1, заменено на doLayout().

String paramString()

Возвращает строку, представляющую состояние этого ScrollPane.

void printComponents​(Graphics g)

Выводит компонент в этом ScrollPane.

protected void processMouseWheelEvent​(MouseWheelEvent e)

Обрабатывает события колесика мыши, которые поступают в этот ScrollPane, прокручивая соответствующее значение.

void setLayout​(LayoutManager mgr)

Устанавливает менеджер компоновки для этого контейнера.

void setScrollPosition​(int x, int y)

Прокручивает до указанной позиции внутри дочернего компонента.

void setScrollPosition​(Point p)

Прокручивает до указанной позиции внутри дочернего компонента.

void setWheelScrollingEnabled​(boolean handleWheel)

Включает/отключает прокрутку в ответ на движение колесика мыши.

Методы, объявленные в классе java.awt.Container

add, add, add, add, add, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getInsets, getLayout, getListeners, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, isValidateRoot, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, update, validate, validateTree

Методы, объявленные в классе java.awt.Component

action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, revalidate, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setMixingCutoutShape, setName, setPreferredSize, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle

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

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

Поля

SCROLLBARS_AS_NEEDED

public static final int SCROLLBARS_AS_NEEDED

Указывает, что горизонтальная/вертикальная полоса прокрутки должна отображаться только тогда, когда размер потомка превышает размер области прокрутки в горизонтальном/вертикальном измерении.

См. также:
Значения константных полей

SCROLLBARS_ALWAYS

public static final int SCROLLBARS_ALWAYS

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

См. также:
Значения константных полей

SCROLLBARS_NEVER

public static final int SCROLLBARS_NEVER

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

См. также:
Значения константных полей

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

ScrollPane

public ScrollPane()
           throws HeadlessException

Создает новый контейнер области прокрутки с политикой отображения полосы прокрутки "по мере необходимости".

Исключение:
HeadlessException - если GraphicsEnvironment.isHeadless() возвращает true
См. также:
GraphicsEnvironment.isHeadless()

ScrollPane

@ConstructorProperties("scrollbarDisplayPolicy")
public ScrollPane(int scrollbarDisplayPolicy)
           throws HeadlessException

Создает новый контейнер области прокрутки.

Параметры:
scrollbarDisplayPolicy - политика отображения полос прокрутки
Исключение:
IllegalArgumentException - если указанная политика отображения полосы прокрутки недопустима
HeadlessException - если GraphicsEnvironment.isHeadless() возвращает true
См. также:
GraphicsEnvironment.isHeadless()

Методы

addImpl

protected final void addImpl(Component comp,
                             Object constraints,
                             int index)

Добавляет указанный компонент в этот контейнер прокрутки. Если в области прокрутки уже есть дочерний компонент, этот компонент удаляется, а новый добавляется.

Overrides:
addImpl в классе Container
Параметры:
comp - добавляемый компонент
constraints - не применимо
index - позиция дочернего компонента (должна быть <= 0)
См. также:
Container.add(Component), Container.add(Component, int), Container.add(Component, java.lang.Object), Container.invalidate(), LayoutManager, LayoutManager2

getScrollbarDisplayPolicy

public int getScrollbarDisplayPolicy()

Возвращает политику отображения полос прокрутки.

Возвращает:
политику отображения полос прокрутки

getViewportSize

public Dimension getViewportSize()

Возвращает текущий размер области просмотра панели прокрутки.

Возвращает:
размер области просмотра в пикселях

getHScrollbarHeight

public int getHScrollbarHeight()

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

Возвращает:
высота горизонтальной полосы прокрутки в пикселях

getVScrollbarWidth

public int getVScrollbarWidth()

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

Возвращает:
ширина вертикальной полосы прокрутки в пикселях

getVAdjustable

public Adjustable getVAdjustable()

Возвращает объект ScrollPaneAdjustable, представляющий состояние вертикальной полосы прокрутки. Объявленный тип возвращаемого значения этого метода — Adjustable, для обеспечения обратной совместимости.

Возвращает:
состояние вертикальной полосы прокрутки
См. также:
ScrollPaneAdjustable

getHAdjustable

public Adjustable getHAdjustable()

Возвращает объект ScrollPaneAdjustable, представляющий состояние горизонтальной полосы прокрутки. Объявленный тип возвращаемого значения этого метода — Adjustable, для обеспечения обратной совместимости.

Возвращает:
состояние горизонтальной полосы прокрутки
См. также:
ScrollPaneAdjustable

setScrollPosition

public void setScrollPosition(int x,
                              int y)

Прокручивает до указанной позиции внутри дочернего компонента. Вызов этого метода допустим только в том случае, если панель прокрутки содержит дочерний компонент. Указание позиции вне допустимых границ прокрутки дочернего компонента приведет к прокрутке до ближайшей допустимой позиции. Допустимые границы определяются прямоугольником: x = 0, y = 0, ширина = (ширина дочернего компонента - ширина области просмотра), высота = (высота дочернего компонента - высота области просмотра). Это удобный метод, который взаимодействует с объектами Adjustable, представляющими состояние полос прокрутки.

Параметры:
x - позиция x для прокрутки
y - позиция y для прокрутки
Исключения:
NullPointerException - если панель прокрутки не содержит дочерний компонент

setScrollPosition

public void setScrollPosition(Point p)

Прокручивает до указанной позиции внутри дочернего компонента. Вызов этого метода допустим только в том случае, если панель прокрутки содержит дочерний компонент и указанная позиция находится в пределах допустимых границ прокрутки дочернего компонента. Указание позиции вне допустимых границ прокрутки дочернего компонента приведет к прокрутке до ближайшей допустимой позиции. Допустимые границы определяются прямоугольником: x = 0, y = 0, ширина = (ширина дочернего компонента - ширина области просмотра), высота = (высота дочернего компонента - высота области просмотра). Это удобный метод, который взаимодействует с объектами Adjustable, представляющими состояние полос прокрутки.

Параметры:
p - точка, представляющая позицию для прокрутки
Исключения:
NullPointerException - если p равно null

getScrollPosition

public Point getScrollPosition()

Возвращает текущую позицию x,y внутри дочернего компонента, который отображается в позиции 0,0 области просмотра прокрученного элемента. Это удобный метод, который взаимодействует с объектами Adjustable, представляющими состояние полос прокрутки.

Возвращает:
координаты позиции текущей позиции прокрутки
Исключения:
NullPointerException - если панель прокрутки не содержит дочерний компонент

setLayout

public final void setLayout(LayoutManager mgr)

Устанавливает менеджер компоновки для этого контейнера. Этот метод переопределяется для предотвращения установки менеджера компоновки.

Overrides:
setLayout в классе Container
Параметры:
mgr - указанный менеджер компоновки
См. также:
Container.doLayout(), Container.getLayout(), Container.invalidate()

doLayout

public void doLayout()

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

Overrides:
doLayout в классе Container
См. также:
Component.validate()

layout

@Deprecated
public void layout()
Устарело.
С версии JDK 1.1, заменено на doLayout().
Overrides:
layout в классе Container

printComponents

public void printComponents(Graphics g)

Печатает компонент в этой области прокрутки.

Overrides:
printComponents в классе Container
Параметры:
g - указанное графическое окно
См. также:
Component.print(java.awt.Graphics), Component.printAll(java.awt.Graphics)

addNotify

public void addNotify()

Создает виджет прокрутки.

Overrides:
addNotify в классе Container
См. также:
Component.isDisplayable(), Container.removeNotify()

paramString

public String paramString()

Возвращает строку, представляющую состояние этой ScrollPane. Этот метод предназначен только для отладки, и содержимое и формат возвращаемой строки могут варьироваться между реализациями. Возвращаемая строка может быть пустой, но не null.

Overrides:
paramString в классе Container
Возвращает:
строку параметров этой панели прокрутки

processMouseWheelEvent

protected void processMouseWheelEvent(MouseWheelEvent e)

Обрабатывает события колесика мыши, которые передаются этой ScrollPane с помощью прокрутки на соответствующее количество.

Обратите внимание, что если параметр события null, поведение не определено и может привести к исключению.

Overrides:
processMouseWheelEvent в классе Component
Параметры:
e - событие колесика мыши
С:
1.4
См. также:
MouseWheelEvent, MouseWheelListener, Component.addMouseWheelListener(java.awt.event.MouseWheelListener), Component.enableEvents(long)

eventTypeEnabled

protected boolean eventTypeEnabled(int type)

Если прокрутка колесиком мыши включена, возвращается true для MouseWheelEvents

С:
1.4

setWheelScrollingEnabled

public void setWheelScrollingEnabled(boolean handleWheel)

Включает/отключает прокрутку в ответ на перемещение колесика мыши. Прокрутка колесиком мыши включена по умолчанию.

Параметры:
handleWheel - true, если прокрутка должна выполняться автоматически для MouseWheelEvent, false, в противном случае.
С:
1.4
См. также:
isWheelScrollingEnabled(), MouseWheelEvent, MouseWheelListener

isWheelScrollingEnabled

public boolean isWheelScrollingEnabled()

Указывает, будет ли выполняться прокрутка в ответ на колесико мыши. Прокрутка колесиком мыши включена по умолчанию.

Возвращает:
true если прокрутка колесиком мыши включена; в противном случае false
С:
1.4
См. также:
setWheelScrollingEnabled(boolean)

getAccessibleContext

public AccessibleContext getAccessibleContext()

Получает AccessibleContext, связанный с этой ScrollPane. Для панелей прокрутки AccessibleContext принимает форму AccessibleAWTScrollPane. Новый экземпляр AccessibleAWTScrollPane создается при необходимости.

Указано в:
getAccessibleContext в интерфейсе Accessible
Overrides:
getAccessibleContext в классе Component
Возвращает:
AccessibleAWTScrollPane, который служит AccessibleContext этой ScrollPane
С:
1.3

© 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/java/awt/ScrollPane.html

Spec-Zone .ru
спецификации, руководства, описания, API