Spec-Zone.ru › OpenJDK 24

Класс 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 и т. д.) могут быть изменены.

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

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

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

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

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

Вкладки используются для определения любого пространства, используемого полосами прокрутки, и любых границ, созданных областью прокрутки. 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 final int SCROLLBARS_ALWAYS
Указывает, что горизонтальные/вертикальные полосы прокрутки всегда должны отображаться независимо от соответствующих размеров области прокрутки и дочернего элемента.
static final int SCROLLBARS_AS_NEEDED
Указывает, что горизонтальная/вертикальная полоса прокрутки должна отображаться только тогда, когда размер дочернего элемента превышает размер области прокрутки в горизонтальном/вертикальном измерении.
static final int SCROLLBARS_NEVER
Указывает, что горизонтальные/вертикальные полосы прокрутки никогда не должны отображаться независимо от соответствующих размеров области прокрутки и дочернего элемента.

Поля, объявленные в классе 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 final void addImpl(Component comp, Object constraints, int index)
Добавляет указанный компонент в этот контейнер scroll pane.
void addNotify()
Создаёт виджет области прокрутки.
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)
Включает/отключает прокрутку в ответ на перемещение колеса мыши.

Методы, объявленные в классе 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)
Добавляет указанный компонент в этот контейнер области прокрутки. Если в области прокрутки уже есть компонент-потомок, этот компонент удаляется, а новый добавляется.
Переопределяет:
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)
Устанавливает менеджер компоновки для этого контейнера. Этот метод переопределён, чтобы предотвратить установку менеджера компоновки.
Переопределяет:
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)
Печатает компонент в этом окне прокрутки.
Overrides:
printComponents в классе Container
Parameters:
g - указанное окно Graphics
См. также:
  • 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
Returns:
строка параметров этого окна прокрутки

processMouseWheelEvent

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

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

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

eventTypeEnabled

protected boolean eventTypeEnabled(int type)
Если прокрутка колёсиком мыши включена, возвращается true для MouseWheelEvents
Since:
1.4

setWheelScrollingEnabled

public void setWheelScrollingEnabled(boolean handleWheel)
Включает/отключает прокрутку по движению колёсика мыши. Прокрутка колёсиком мыши включена по умолчанию.
Parameters:
handleWheel - true, если прокрутка должна выполняться автоматически для MouseWheelEvent, false в противном случае.
Since:
1.4
См. также:
  • isWheelScrollingEnabled()
  • MouseWheelEvent
  • MouseWheelListener

isWheelScrollingEnabled

public boolean isWheelScrollingEnabled()
Указывает, будет ли происходить прокрутка по колёсику мыши. Прокрутка колёсиком мыши включена по умолчанию.
Returns:
true, если прокрутка колёсиком включена; в противном случае false
Since:
1.4
См. также:
  • setWheelScrollingEnabled(boolean)

getAccessibleContext

public AccessibleContext getAccessibleContext()
Возвращает AccessibleContext, связанный с этим ScrollPane. Для scroll panes, AccessibleContext принимает вид AccessibleAWTScrollPane. Новый экземпляр AccessibleAWTScrollPane создаётся при необходимости.
Specified by:
getAccessibleContext в интерфейсе Accessible
Overrides:
getAccessibleContext в классе Component
Returns:
AccessibleAWTScrollPane, который служит AccessibleContext для этого ScrollPane
Since:
1.3

© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/ScrollPane.html

Spec-Zone.ru

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