Класс ScrollPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.ScrollPane
- Все реализованные интерфейсы:
-
ImageObserver,MenuContainer,Serializable,Accessible
public class ScrollPane extends Container implements Accessible
Класс-контейнер, реализующий автоматическую горизонтальную и/или вертикальную прокрутку для одного дочернего компонента. Политика отображения полос прокрутки может быть установлена следующим образом:
- по мере необходимости: полосы прокрутки создаются и отображаются только при необходимости прокрутки
- всегда: полосы прокрутки создаются и всегда отображаются прокруткой
- никогда: полосы прокрутки никогда не создаются или не отображаются прокруткой
Состояние горизонтальной и вертикальной полос прокрутки представлено двумя 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 | Этот класс реализует поддержку доступности для класса |
Вложенные классы/интерфейсы, объявленные в классе 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() | Возвращает объект |
int | getHScrollbarHeight() | Возвращает высоту, которую занимала бы горизонтальная полоса прокрутки, независимо от того, отображается ли она в данный момент в ScrollPane или нет. |
int | getScrollbarDisplayPolicy() | Возвращает политику отображения полос прокрутки. |
Point | getScrollPosition() | Возвращает текущие координаты x, y внутри дочернего элемента, которые отображаются в координатах 0,0 порта просмотра прокручиваемого элемента. |
Adjustable | getVAdjustable() | Возвращает объект |
Dimension | getViewportSize() | Возвращает текущий размер порта просмотра ScrollPane. |
int | getVScrollbarWidth() | Возвращает ширину, которую занимала бы вертикальная полоса прокрутки, независимо от того, отображается ли она в данный момент в ScrollPane или нет. |
boolean | isWheelScrollingEnabled() | Указывает, будет ли происходить прокрутка в ответ на движение колесика мыши. |
void | layout() | Устарело. Начиная с версии JDK 1.1, заменено на doLayout(). |
String | paramString() | Возвращает строку, представляющую состояние этого |
void | printComponents(Graphics g) | Выводит компонент в этом ScrollPane. |
protected void | processMouseWheelEvent(MouseWheelEvent e) | Обрабатывает события колесика мыши, которые поступают в этот |
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()
doLayout().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