Spec-Zone.ru › OpenJDK 25

Класс ScrollPane

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.ScrollPane
Все реализованные интерфейсы:
ImageObserver, MenuContainer, Serializable, Accessible
public class ScrollPane extends Container implements Accessible
Класс-контейнер, реализующий автоматическую горизонтальную и/или вертикальную прокрутку единственного дочернего компонента. Политику отображения полос прокрутки можно настроить следующим образом:
  1. по необходимости: полосы прокрутки создаются и отображаются только тогда, когда они нужны прокручиваемой области
  2. всегда: полосы прокрутки создаются и всегда отображаются прокручиваемой областью
  3. никогда: полосы прокрутки никогда не создаются и не отображаются прокручиваемой областью

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

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

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

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

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

Прокрутка колесиком мыши, оснащенной колесиком, включена по умолчанию. Ее можно отключить с помощью setWheelScrollingEnabled. Прокрутку колесиком можно настроить, задав приращения блока и единицы для горизонтального и вертикального объектов Adjustable. Сведения о передаче событий колесика мыши см. в описании класса MouseWheelEvent.

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

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

Краткое описание вложенных классов

Модификатор и тип Класс Описание
protected class  ScrollPane.AccessibleAWTScrollPane
Этот класс реализует поддержку специальных возможностей для класса ScrollPane.

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

Container.AccessibleAWTContainer

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

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

Краткое описание полей

Модификатор и тип Поле Описание
static final int SCROLLBARS_ALWAYS
Указывает, что горизонтальные/вертикальные полосы прокрутки должны отображаться всегда, независимо от соотношения размеров прокручиваемой области и дочернего компонента.
static final int SCROLLBARS_AS_NEEDED
Указывает, что горизонтальная/вертикальная полоса прокрутки должна отображаться только в том случае, если размер дочернего компонента превышает размер прокручиваемой области по горизонтали/вертикали.
static final int SCROLLBARS_NEVER
Указывает, что горизонтальные/вертикальные полосы прокрутки никогда не должны отображаться, независимо от соотношения размеров прокручиваемой области и дочернего компонента.

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

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

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

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

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

Конструктор Описание
ScrollPane()
Создает новый контейнер прокручиваемой области с политикой отображения полос прокрутки «по необходимости».
ScrollPane(int scrollbarDisplayPolicy)
Создает новый контейнер прокручиваемой области.

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

Модификатор и тип Метод Описание
protected final void addImpl(Component comp, Object constraints, int index)
Добавляет указанный компонент в этот контейнер прокручиваемой области.
void addNotify()
Создает peer-объект прокручиваемой области.
void doLayout()
Выполняет компоновку этого контейнера, изменяя размер его дочернего компонента до предпочтительного размера.
protected boolean eventTypeEnabled(int type)
Если прокрутка колесиком включена, возвращает true для событий MouseWheelEvents
AccessibleContext getAccessibleContext()
Получает AccessibleContext, связанный с этим ScrollPane.
Adjustable getHAdjustable()
Возвращает объект ScrollPaneAdjustable, представляющий состояние горизонтальной полосы прокрутки.
int getHScrollbarHeight()
Возвращает высоту, которую занимала бы горизонтальная полоса прокрутки независимо от того, отображается ли она в данный момент прокручиваемой областью.
int getScrollbarDisplayPolicy()
Возвращает политику отображения полос прокрутки.
Point getScrollPosition()
Возвращает текущие координаты x,y в дочернем компоненте, отображаемые в точке 0,0 области просмотра прокручиваемой панели.
Adjustable getVAdjustable()
Возвращает объект ScrollPaneAdjustable, представляющий состояние вертикальной полосы прокрутки.
Dimension getViewportSize()
Возвращает текущий размер области просмотра прокручиваемой панели.
int getVScrollbarWidth()
Возвращает ширину, которую занимала бы вертикальная полоса прокрутки независимо от того, отображается ли она в данный момент прокручиваемой областью.
boolean isWheelScrollingEnabled()
Указывает, будет ли выполняться прокрутка в ответ на вращение колесика мыши.
void layout()
Устарело.
Начиная с JDK версии 1.1 заменен на doLayout().
String paramString()
Возвращает строку, представляющую состояние этого ScrollPane.
void printComponents(Graphics g)
Печатает компонент в этой прокручиваемой области.
protected void processMouseWheelEvent(MouseWheelEvent e)
Обрабатывает события колесика мыши, переданные этому ScrollPane, прокручивая содержимое на соответствующее расстояние.
final void setLayout(LayoutManager mgr)
Задает менеджер компоновки для этого контейнера.
void setScrollPosition(int x, int y)
Прокручивает содержимое до указанной позиции в дочернем компоненте.
void setScrollPosition(Point p)
Прокручивает содержимое до указанной позиции в дочернем компоненте.
void setWheelScrollingEnabled(boolean handleWheel)
Включает или отключает прокрутку в ответ на вращение колесика мыши.

Методы, объявленные в классе 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

Методы, объявленные в классе 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

Методы, объявленные в классе 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)
Добавляет указанный компонент в этот контейнер прокручиваемой области. Если у прокручиваемой области уже есть дочерний компонент, он удаляется и добавляется новый.
Переопределяет:
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, width = (ширина дочернего компонента - ширина области просмотра), height = (высота дочернего компонента - высота области просмотра). Этот вспомогательный метод взаимодействует с объектами Adjustable, представляющими состояние полос прокрутки.
Параметры:
x — координата x, до которой нужно прокрутить
y — координата y, до которой нужно прокрутить
Исключения:
NullPointerException — если прокручиваемая область не содержит дочернего компонента

setScrollPosition

public void setScrollPosition(Point p)
Прокручивает содержимое до указанной позиции в дочернем компоненте. Вызов этого метода допустим только в том случае, если прокручиваемая область содержит дочерний компонент, а указанная позиция находится в допустимых пределах прокрутки дочернего компонента. Если указана позиция за допустимыми пределами прокрутки дочернего компонента, выполняется прокрутка до ближайшей допустимой позиции. Допустимые пределы задаются прямоугольником: x = 0, y = 0, width = (ширина дочернего компонента - ширина области просмотра), height = (высота дочернего компонента - высота области просмотра). Этот вспомогательный метод взаимодействует с объектами Adjustable, представляющими состояние полос прокрутки.
Параметры:
p — объект Point, представляющий позицию, до которой нужно прокрутить
Исключения:
NullPointerException — если p имеет значение null

getScrollPosition

public Point getScrollPosition()
Возвращает текущие координаты x,y в дочернем компоненте, отображаемые в точке 0,0 области просмотра прокручиваемой панели. Этот вспомогательный метод взаимодействует с объектами Adjustable, представляющими состояние полос прокрутки.
Возвращает:
координаты текущей позиции прокрутки
Исключения:
NullPointerException — если прокручиваемая область не содержит дочернего компонента

setLayout

public final void setLayout(LayoutManager mgr)
Задает менеджер компоновки для этого контейнера. Этот метод переопределен, чтобы запретить установку менеджера компоновки.
Переопределяет:
setLayout в классе Container
Параметры:
mgr — указанный менеджер компоновки
См. также:
  • Container.doLayout()
  • Container.getLayout()
  • Container.invalidate()

doLayout

public void doLayout()
Выполняет компоновку этого контейнера, изменяя размер его дочернего компонента до предпочтительного размера. Если новый предпочтительный размер дочернего компонента делает текущую позицию прокрутки недопустимой, позиция прокрутки устанавливается в ближайшее допустимое положение.
Переопределяет:
doLayout в классе Container
См. также:
  • Component.validate()

layout

@Deprecated public void layout()
Устарело.
Начиная с JDK версии 1.1 заменен на doLayout().
Переопределяет:
layout в классе Container

printComponents

public void printComponents(Graphics g)
Печатает компонент в этой прокручиваемой области.
Переопределяет:
printComponents в классе Container
Параметры:
g — указанное окно Graphics
См. также:
  • Component.print(Graphics)
  • Component.printAll(Graphics)

addNotify

public void addNotify()
Создает peer-объект прокручиваемой области.
Переопределяет:
addNotify в классе Container
См. также:
  • Component.isDisplayable()
  • Container.removeNotify()

paramString

public String paramString()
Возвращает строку, представляющую состояние этого ScrollPane. Этот метод предназначен только для отладки; содержимое и формат возвращаемой строки могут различаться в разных реализациях. Возвращаемая строка может быть пустой, но не может быть null.
Переопределяет:
paramString в классе Container
Возвращает:
строку параметров этой прокручиваемой области

processMouseWheelEvent

protected void processMouseWheelEvent(MouseWheelEvent e)
Обрабатывает события колесика мыши, переданные этому ScrollPane, прокручивая содержимое на соответствующее расстояние.

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

Переопределяет:
processMouseWheelEvent в классе Component
Параметры:
e — событие колесика мыши
Начиная с:
1.4
См. также:
  • MouseWheelEvent
  • MouseWheelListener
  • Component.addMouseWheelListener(MouseWheelListener)
  • Component.enableEvents(long)

eventTypeEnabled

protected boolean eventTypeEnabled(int type)
Если прокрутка колесиком включена, для событий MouseWheelEvents возвращается true
Начиная с:
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
Переопределяет:
getAccessibleContext в классе Component
Возвращает:
AccessibleAWTScrollPane, который служит AccessibleContext этого ScrollPane
Начиная с:
1.3

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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/25/docs/api/java.desktop/java/awt/ScrollPane.html

Spec-Zone.ru

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