Spec-Zone.ru › OpenJDK 25

Класс JScrollPane

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JScrollPane
Все реализованные интерфейсы:
ImageObserver, MenuContainer, Serializable, Accessible, ScrollPaneConstants
@JavaBean(defaultProperty="UI", description="A specialized container that manages a viewport, optional scrollbars and headers") public class JScrollPane extends JComponent implements ScrollPaneConstants, Accessible
Предоставляет прокручиваемое представление облегчённого компонента. JScrollPane управляет областью просмотра, необязательными вертикальной и горизонтальной полосами прокрутки, а также необязательными областями просмотра заголовков строк и столбцов. Документацию по задачам для JScrollPane можно найти в разделе Использование панелей прокрутки учебного пособия Учебное пособие по Java. Обратите внимание, что JScrollPane не поддерживает тяжеловесные компоненты.

Пример:

The following text describes this image.

JViewport предоставляет окно, или «область просмотра», для источника данных, например текстового файла. Этот источник данных является «прокручиваемым клиентом» (также называемым моделью данных), отображаемым в представлении JViewport. По сути, JScrollPane состоит из JScrollBarов, JViewport и связей между ними, как показано на схеме справа.

Помимо полос прокрутки и области просмотра, JScrollPane может содержать заголовок столбцов и заголовок строк. Каждый из них является объектом JViewport, который задаётся с помощью setRowHeaderView и setColumnHeaderView. Область просмотра заголовка столбцов автоматически прокручивается влево и вправо, следуя за горизонтальной прокруткой основной области просмотра. (По вертикали она не прокручивается.) Заголовок строк работает аналогичным образом.

В местах пересечения двух полос прокрутки, заголовков строк и столбцов или полосы прокрутки с одним из заголовков оба компонента не доходят до угла, оставляя прямоугольное пространство, которое по умолчанию пусто. Такие пространства могут располагаться в любом количестве из четырёх углов. На предыдущей схеме присутствует пространство в правом верхнем углу, помеченное как «компонент угла».

Любое количество таких пустых пространств можно заполнить, добавив компонент в определённый угол с помощью метода setCorner. (Примечание: один и тот же компонент нельзя добавлять в несколько углов.) Это удобно, если требуется добавить в панель прокрутки дополнительное оформление или функциональность. Размер каждого компонента угла полностью определяется размером окружающих его заголовков и/или полос прокрутки.

Компонент угла будет виден только в том случае, если в соответствующем углу имеется свободное пространство. Например, рассмотрим компонент, помещённый в правый верхний угол панели прокрутки с заголовком столбцов. Если вертикальная полоса прокрутки панели отсутствует, например потому, что компонент представления ещё не увеличился настолько, чтобы она понадобилась, компонент угла не будет отображаться (так как в углу нет свободного пространства, образованного пересечением заголовка и вертикальной полосы прокрутки). Принудительное отображение полосы прокрутки с помощью setVerticalScrollBarPolicy(VERTICAL_SCROLLBAR_ALWAYS) гарантирует, что для компонента угла всегда будет доступно пространство.

Чтобы добавить рамку вокруг основной области просмотра, используйте setViewportBorder. (Разумеется, можно также добавить рамку вокруг всей панели прокрутки с помощью setBorder.)

Часто требуется задать цвет фона, который будет использоваться, если представление в основной области просмотра меньше самой области просмотра или не является непрозрачным. Это можно сделать, задав цвет фона области просмотра с помощью scrollPane.getViewport().setBackground(). Цвет задаётся для области просмотра, а не для панели прокрутки, потому что по умолчанию JViewport непрозрачен, а это, помимо прочего, означает, что он полностью закрашивает фон своим цветом фона. Поэтому, когда JScrollPane рисует фон, область просмотра обычно закрашивает его поверх.

По умолчанию JScrollPane использует ScrollPaneLayout для управления расположением дочерних компонентов. ScrollPaneLayout определяет размер области просмотра одним из двух способов:

  1. Если представление реализует Scrollable, используется комбинация getPreferredScrollableViewportSize, getScrollableTracksViewportWidth и getScrollableTracksViewportHeight; в противном случае
  2. используется getPreferredSize.

Предупреждение: Swing не является потокобезопасным. Дополнительные сведения см. в разделе Политика многопоточности Swing.

Предупреждение: Сериализованные объекты этого класса не будут совместимы с будущими версиями Swing. Текущая поддержка сериализации подходит для кратковременного хранения или RMI между приложениями, использующими одну и ту же версию Swing. Начиная с версии 1.4, в пакет java.beans добавлена поддержка долговременного хранения всех JavaBeans. См. XMLEncoder.

Начиная с версии:
1.2
См. также:
  • JScrollBar
  • JViewport
  • ScrollPaneLayout
  • Scrollable
  • Component.getPreferredSize()
  • setViewportView(Component)
  • setRowHeaderView(Component)
  • setColumnHeaderView(Component)
  • setCorner(String, Component)
  • setViewportBorder(Border)

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

Модификатор и тип Класс Описание
protected class  JScrollPane.AccessibleJScrollPane
Этот класс реализует поддержку специальных возможностей для класса JScrollPane.
protected class  JScrollPane.ScrollBar
По умолчанию JScrollPane создаёт полосы прокрутки, являющиеся экземплярами этого класса.

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

JComponent.AccessibleJComponent

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

Container.AccessibleAWTContainer

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

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

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

Модификатор и тип Поле Описание
protected JViewport columnHeader
Дочерний элемент — заголовок столбцов.
protected JScrollBar horizontalScrollBar
Дочерний элемент панели прокрутки — горизонтальная полоса прокрутки.
protected int horizontalScrollBarPolicy
Политика отображения горизонтальной полосы прокрутки.
protected Component lowerLeft
Компонент для отображения в левом нижнем углу.
protected Component lowerRight
Компонент для отображения в правом нижнем углу.
protected JViewport rowHeader
Дочерний элемент — заголовок строк.
protected Component upperLeft
Компонент для отображения в левом верхнем углу.
protected Component upperRight
Компонент для отображения в правом верхнем углу.
protected JScrollBar verticalScrollBar
Дочерний элемент панели прокрутки — вертикальная полоса прокрутки.
protected int verticalScrollBarPolicy
Политика отображения вертикальной полосы прокрутки.
protected JViewport viewport
Дочерний элемент панели прокрутки — область просмотра.

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

listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW

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

accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT

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

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

Поля, объявленные в интерфейсе 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

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

Конструктор Описание
JScrollPane()
Создаёт пустой JScrollPane (без представления в области просмотра), в котором горизонтальная и вертикальная полосы прокрутки появляются при необходимости.
JScrollPane(int vsbPolicy, int hsbPolicy)
Создаёт пустой JScrollPane (без представления в области просмотра) с указанными политиками отображения полос прокрутки.
JScrollPane(Component view)
Создаёт JScrollPane, отображающий содержимое указанного компонента; горизонтальная и вертикальная полосы прокрутки появляются, если содержимое компонента превышает размер области просмотра.
JScrollPane(Component view, int vsbPolicy, int hsbPolicy)
Создаёт JScrollPane, отображающий компонент представления в области просмотра, положение которой можно регулировать с помощью пары полос прокрутки.

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

Модификатор и тип Метод Описание
JScrollBar createHorizontalScrollBar()
По умолчанию возвращает JScrollPane.ScrollBar.
JScrollBar createVerticalScrollBar()
По умолчанию возвращает JScrollPane.ScrollBar.
protected JViewport createViewport()
По умолчанию возвращает новый JViewport.
AccessibleContext getAccessibleContext()
Возвращает AccessibleContext, связанный с этим JScrollPane.
JViewport getColumnHeader()
Возвращает заголовок столбцов.
Component getCorner(String key)
Возвращает компонент в указанном углу.
JScrollBar getHorizontalScrollBar()
Возвращает горизонтальную полосу прокрутки, управляющую горизонтальным положением представления в области просмотра.
int getHorizontalScrollBarPolicy()
Возвращает значение политики отображения горизонтальной полосы прокрутки.
JViewport getRowHeader()
Возвращает заголовок строк.
ScrollPaneUI getUI()
Возвращает объект внешнего вида (L&F), отображающий этот компонент.
String getUIClassID()
Возвращает суффикс, используемый для формирования имени класса L&F, который применяется для отображения этого компонента.
JScrollBar getVerticalScrollBar()
Возвращает вертикальную полосу прокрутки, управляющую вертикальным положением представления в области просмотра.
int getVerticalScrollBarPolicy()
Возвращает значение политики отображения вертикальной полосы прокрутки.
JViewport getViewport()
Возвращает текущий JViewport.
Border getViewportBorder()
Возвращает объект Border, окружающий область просмотра.
Rectangle getViewportBorderBounds()
Возвращает границы рамки области просмотра.
boolean isValidateRoot()
Переопределён, чтобы возвращать true, благодаря чему любые вызовы revalidate для потомков этого JScrollPane приводят к проверке всего дерева, начинающегося с этого JScrollPane.
boolean isWheelScrollingEnabled()
Указывает, будет ли выполняться прокрутка при использовании колеса мыши.
protected String paramString()
Возвращает строковое представление этого JScrollPane.
void setColumnHeader(JViewport columnHeader)
Удаляет старый columnHeader, если он существует; если новый columnHeader не является null, синхронизирует координату x его viewPosition с областью просмотра (если она есть), а затем добавляет его в панель прокрутки.
void setColumnHeaderView(Component view)
При необходимости создаёт область просмотра заголовка столбцов, задаёт её представление, а затем добавляет эту область в панель прокрутки.
void setComponentOrientation(ComponentOrientation co)
Задаёт ориентацию вертикальной и горизонтальной полос прокрутки в соответствии с аргументом ComponentOrientation.
void setCorner(String key, Component corner)
Добавляет дочерний компонент, который будет отображаться в одном из углов панели прокрутки, если там есть место.
void setHorizontalScrollBar(JScrollBar horizontalScrollBar)
Добавляет в панель прокрутки полосу прокрутки, управляющую горизонтальным положением представления в области просмотра.
void setHorizontalScrollBarPolicy(int policy)
Определяет, когда в панели прокрутки появляется горизонтальная полоса прокрутки.
void setLayout(LayoutManager layout)
Задаёт менеджер компоновки для этого JScrollPane.
void setRowHeader(JViewport rowHeader)
Удаляет старый rowHeader, если он существует; если новый rowHeader не является null, синхронизирует координату y его viewPosition с областью просмотра (если она есть), а затем добавляет его в панель прокрутки.
void setRowHeaderView(Component view)
При необходимости создаёт область просмотра заголовка строк, задаёт её представление, а затем добавляет эту область в панель прокрутки.
void setUI(ScrollPaneUI ui)
Задаёт объект ScrollPaneUI, обеспечивающий внешний вид (L&F) этого компонента.
void setVerticalScrollBar(JScrollBar verticalScrollBar)
Добавляет в панель прокрутки полосу прокрутки, управляющую вертикальным положением представления в области просмотра.
void setVerticalScrollBarPolicy(int policy)
Определяет, когда в панели прокрутки появляется вертикальная полоса прокрутки.
void setViewport(JViewport viewport)
Удаляет старую область просмотра (если она есть); устанавливает для viewPosition новой области просмотра координаты в квадранте +x,+y; синхронизирует заголовки строк и столбцов (если они есть) с новой областью просмотра; и, наконец, синхронизирует полосы прокрутки и заголовки с новой областью просмотра.
void setViewportBorder(Border viewportBorder)
Добавляет рамку вокруг области просмотра.
void setViewportView(Component view)
При необходимости создаёт область просмотра, а затем задаёт её представление.
void setWheelScrollingEnabled(boolean handleWheel)
Включает или отключает прокрутку при вращении колеса мыши.
void updateUI()
Заменяет текущий объект ScrollPaneUI версией из текущего внешнего вида по умолчанию.

Методы, объявленные в классе JComponent

addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update

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

add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, transferFocusDownCycle, validate, validateTree

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

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

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

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

Подробное описание полей

verticalScrollBarPolicy

protected int verticalScrollBarPolicy
Политика отображения вертикальной полосы прокрутки. По умолчанию используется ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED.
См. также:
  • setVerticalScrollBarPolicy(int)

horizontalScrollBarPolicy

protected int horizontalScrollBarPolicy
Политика отображения горизонтальной полосы прокрутки. По умолчанию используется ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED.
См. также:
  • setHorizontalScrollBarPolicy(int)

viewport

protected JViewport viewport
Дочерняя область просмотра панели прокрутки. По умолчанию это пустой JViewport.
См. также:
  • setViewport(JViewport)

verticalScrollBar

protected JScrollBar verticalScrollBar
Дочерняя вертикальная полоса прокрутки панели прокрутки. По умолчанию используется JScrollBar.
См. также:
  • setVerticalScrollBar(JScrollBar)

horizontalScrollBar

protected JScrollBar horizontalScrollBar
Дочерняя горизонтальная полоса прокрутки панели прокрутки. По умолчанию используется JScrollBar.
См. также:
  • setHorizontalScrollBar(JScrollBar)

rowHeader

protected JViewport rowHeader
Дочерний заголовок строк. По умолчанию используется null.
См. также:
  • setRowHeader(JViewport)

columnHeader

protected JViewport columnHeader
Дочерний заголовок столбцов. По умолчанию используется null.
См. также:
  • setColumnHeader(JViewport)

lowerLeft

protected Component lowerLeft
Компонент, отображаемый в левом нижнем углу. По умолчанию используется null.
См. также:
  • setCorner(String, Component)

lowerRight

protected Component lowerRight
Компонент, отображаемый в правом нижнем углу. По умолчанию используется null.
См. также:
  • setCorner(String, Component)

upperLeft

protected Component upperLeft
Компонент, отображаемый в левом верхнем углу. По умолчанию используется null.
См. также:
  • setCorner(String, Component)

upperRight

protected Component upperRight
Компонент, отображаемый в правом верхнем углу. По умолчанию используется null.
См. также:
  • setCorner(String, Component)

Подробное описание конструкторов

JScrollPane

public JScrollPane(Component view, int vsbPolicy, int hsbPolicy)
Создает JScrollPane, отображающую компонент-представление в области просмотра, положение представления которой можно задавать с помощью пары полос прокрутки. Политики полос прокрутки определяют, когда отображаются полосы прокрутки. Например, если vsbPolicy имеет значение VERTICAL_SCROLLBAR_AS_NEEDED, вертикальная полоса прокрутки появляется только в том случае, если представление не помещается по вертикали. Доступные значения политик перечислены в разделах setVerticalScrollBarPolicy(int) и setHorizontalScrollBarPolicy(int).
Параметры:
view — компонент, отображаемый в области просмотра панели прокрутки
vsbPolicy — целое число, задающее политику вертикальной полосы прокрутки
hsbPolicy — целое число, задающее политику горизонтальной полосы прокрутки
См. также:
  • setViewportView(Component)

JScrollPane

public JScrollPane(Component view)
Создает JScrollPane, отображающую содержимое указанного компонента. Горизонтальная и вертикальная полосы прокрутки появляются, если содержимое компонента выходит за пределы области просмотра.
Параметры:
view — компонент, отображаемый в области просмотра панели прокрутки
См. также:
  • setViewportView(Component)

JScrollPane

public JScrollPane(int vsbPolicy, int hsbPolicy)
Создает пустую (без представления в области просмотра) JScrollPane с заданными политиками полос прокрутки. Доступные значения политик перечислены в разделах setVerticalScrollBarPolicy(int) и setHorizontalScrollBarPolicy(int).
Параметры:
vsbPolicy — целое число, задающее политику вертикальной полосы прокрутки
hsbPolicy — целое число, задающее политику горизонтальной полосы прокрутки
См. также:
  • setViewportView(Component)

JScrollPane

public JScrollPane()
Создает пустую (без представления в области просмотра) JScrollPane, в которой горизонтальная и вертикальная полосы прокрутки появляются при необходимости.

Подробное описание методов

getUI

@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component's LookAndFeel.") public ScrollPaneUI getUI()
Возвращает объект внешнего вида (L&F), отображающий этот компонент.
Переопределяет:
getUI в классе JComponent
Возвращает:
объект ScrollPaneUI, отображающий этот компонент
См. также:
  • setUI(ScrollPaneUI)

setUI

public void setUI(ScrollPaneUI ui)
Задает объект ScrollPaneUI, обеспечивающий внешний вид (L&F) этого компонента.
Параметры:
ui — объект внешнего вида L&F типа ScrollPaneUI
См. также:
  • getUI()

updateUI

public void updateUI()
Заменяет текущий объект ScrollPaneUI версией из текущего внешнего вида по умолчанию. Этот метод следует вызывать при изменении внешнего вида по умолчанию.
Переопределяет:
updateUI в классе JComponent
См. также:
  • JComponent.updateUI()
  • UIManager.getUI(JComponent)

getUIClassID

@BeanProperty(bound=false, hidden=true) public String getUIClassID()
Возвращает суффикс, используемый для формирования имени класса L&F, применяемого для отображения этого компонента.
Переопределяет:
getUIClassID в классе JComponent
Возвращает:
строку "ScrollPaneUI"
См. также:
  • JComponent.getUIClassID()
  • UIDefaults.getUI(JComponent)

setLayout

public void setLayout(LayoutManager layout)
Задает менеджер компоновки для этой JScrollPane. Этот метод переопределяет setLayout в java.awt.Container, чтобы гарантировать, что в JScrollPane можно использовать только LayoutManager, являющиеся подклассами ScrollPaneLayout. Если layout не равен null, для него вызывается syncWithScrollPane.
Переопределяет:
setLayout в классе Container
Параметры:
layout — указанный менеджер компоновки
Вызывает исключение:
ClassCastException — если компоновка не является ScrollPaneLayout
См. также:
  • Container.getLayout()
  • Container.setLayout(LayoutManager)

isValidateRoot

@BeanProperty(hidden=true) public boolean isValidateRoot()
Переопределен для возврата значения true, чтобы любые вызовы revalidate для потомков этой JScrollPane приводили к проверке всего дерева, начиная с этой JScrollPane.
Переопределяет:
isValidateRoot в классе JComponent
Возвращает:
true
См. также:
  • Container.validate()
  • JComponent.revalidate()
  • JComponent.isValidateRoot()
  • Container.isValidateRoot()

getVerticalScrollBarPolicy

public int getVerticalScrollBarPolicy()
Возвращает значение политики вертикальной полосы прокрутки.
Возвращает:
значение свойства verticalScrollBarPolicy
См. также:
  • setVerticalScrollBarPolicy(int)

setVerticalScrollBarPolicy

@BeanProperty(preferred=true, enumerationValues={"ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED","ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER","ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS"}, description="The scrollpane vertical scrollbar policy") public void setVerticalScrollBarPolicy(int policy)
Определяет, когда в панели прокрутки появляется вертикальная полоса прокрутки. Допустимые значения:
  • ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED
  • ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER
  • ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS
Параметры:
policy — одно из трех перечисленных выше значений
Вызывает исключение:
IllegalArgumentException — если policy не является одним из указанных выше допустимых значений
См. также:
  • getVerticalScrollBarPolicy()

getHorizontalScrollBarPolicy

public int getHorizontalScrollBarPolicy()
Возвращает значение политики горизонтальной полосы прокрутки.
Возвращает:
значение свойства horizontalScrollBarPolicy
См. также:
  • setHorizontalScrollBarPolicy(int)

setHorizontalScrollBarPolicy

@BeanProperty(preferred=true, enumerationValues={"ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED","ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER","ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS"}, description="The scrollpane scrollbar policy") public void setHorizontalScrollBarPolicy(int policy)
Определяет, когда в панели прокрутки появляется горизонтальная полоса прокрутки. Возможны следующие значения:
  • ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
  • ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
  • ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS
Параметры:
policy — одно из трех перечисленных выше значений
Вызывает исключение:
IllegalArgumentException — если policy не является одним из указанных выше допустимых значений
См. также:
  • getHorizontalScrollBarPolicy()

getViewportBorder

public Border getViewportBorder()
Возвращает объект Border, окружающий область просмотра.
Возвращает:
значение свойства viewportBorder
См. также:
  • setViewportBorder(Border)

setViewportBorder

@BeanProperty(preferred=true, description="The border around the viewport.") public void setViewportBorder(Border viewportBorder)
Добавляет рамку вокруг области просмотра. Обратите внимание, что рамка устанавливается не непосредственно на область просмотра: JViewport не поддерживает свойство рамки JComponent. Аналогично, настройка области просмотра JScrollPane не влияет на свойство viewportBorder.

Значение этого свойства по умолчанию определяется реализацией внешнего вида.

Параметры:
viewportBorder — добавляемая рамка
См. также:
  • getViewportBorder()
  • setViewport(JViewport)

getViewportBorderBounds

@BeanProperty(bound=false) public Rectangle getViewportBorderBounds()
Возвращает границы рамки области просмотра.
Возвращает:
объект Rectangle, задающий рамку области просмотра

createHorizontalScrollBar

public JScrollBar createHorizontalScrollBar()
По умолчанию возвращает JScrollPane.ScrollBar. Подклассы могут переопределить этот метод, чтобы принудительно использовать в реализациях ScrollPaneUI подкласс JScrollBar. Реализации ScrollPaneUI используют этот метод для создания горизонтальной полосы прокрутки.
Возвращает:
объект JScrollBar с горизонтальной ориентацией
См. также:
  • JScrollBar

getHorizontalScrollBar

public JScrollBar getHorizontalScrollBar()
Возвращает горизонтальную полосу прокрутки, управляющую горизонтальным положением представления в области просмотра.
Возвращает:
значение свойства horizontalScrollBar
См. также:
  • setHorizontalScrollBar(JScrollBar)

setHorizontalScrollBar

@BeanProperty(expert=true, description="The horizontal scrollbar.") public void setHorizontalScrollBar(JScrollBar horizontalScrollBar)
Добавляет в панель прокрутки полосу прокрутки, управляющую горизонтальным положением представления в области просмотра. Обычно в этом нет необходимости, поскольку JScrollPane по умолчанию создает горизонтальную и вертикальную полосы прокрутки.
Параметры:
horizontalScrollBar — добавляемая горизонтальная полоса прокрутки
См. также:
  • createHorizontalScrollBar()
  • getHorizontalScrollBar()

createVerticalScrollBar

public JScrollBar createVerticalScrollBar()
По умолчанию возвращает JScrollPane.ScrollBar. Подклассы могут переопределить этот метод, чтобы принудительно использовать в реализациях ScrollPaneUI подкласс JScrollBar. Реализации ScrollPaneUI используют этот метод для создания вертикальной полосы прокрутки.
Возвращает:
объект JScrollBar с вертикальной ориентацией
См. также:
  • JScrollBar

getVerticalScrollBar

public JScrollBar getVerticalScrollBar()
Возвращает вертикальную полосу прокрутки, управляющую вертикальным положением представления в области просмотра.
Возвращает:
значение свойства verticalScrollBar
См. также:
  • setVerticalScrollBar(JScrollBar)

setVerticalScrollBar

@BeanProperty(expert=true, description="The vertical scrollbar.") public void setVerticalScrollBar(JScrollBar verticalScrollBar)
Добавляет в панель прокрутки полосу прокрутки, управляющую вертикальным положением представления в области просмотра. Обычно в этом нет необходимости, поскольку JScrollPane по умолчанию создает вертикальную и горизонтальную полосы прокрутки.
Параметры:
verticalScrollBar — добавляемая вертикальная полоса прокрутки
См. также:
  • createVerticalScrollBar()
  • getVerticalScrollBar()

createViewport

protected JViewport createViewport()
По умолчанию возвращает новую JViewport. Этот метод используется для создания области просмотра (при необходимости) в setViewportView, setRowHeaderView и setColumnHeaderView. Подклассы могут переопределить этот метод, чтобы возвращать подкласс JViewport.
Возвращает:
новую JViewport

getViewport

public JViewport getViewport()
Возвращает текущую JViewport.
Возвращает:
значение свойства viewport
См. также:
  • setViewport(JViewport)

setViewport

@BeanProperty(expert=true, visualUpdate=true, description="The viewport child for this scrollpane") public void setViewport(JViewport viewport)
Удаляет старую область просмотра (если она есть); устанавливает положение представления новой области просмотра в квадрант +x,+y; синхронизирует заголовки строк и столбцов (если они есть) с новой областью просмотра; затем синхронизирует полосы прокрутки и заголовки с новой областью просмотра.

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

Параметры:
viewport — новая область просмотра; если область просмотра равна null, старая область просмотра все равно удаляется, а для новой задается значение null
См. также:
  • createViewport()
  • getViewport()
  • setViewportView(Component)

setViewportView

public void setViewportView(Component view)
При необходимости создает область просмотра, а затем задает ее представление. Приложениям, которые не передают представление непосредственно конструктору JScrollPane, следует использовать этот метод, чтобы указать прокручиваемый дочерний компонент, который будет отображаться в панели прокрутки. Например:
JScrollPane scrollpane = new JScrollPane();
scrollpane.setViewportView(myBigComponentToScroll);
Приложениям не следует добавлять дочерние компоненты непосредственно в панель прокрутки.
Параметры:
view — компонент, добавляемый в область просмотра
См. также:
  • setViewport(JViewport)
  • JViewport.setView(Component)

getRowHeader

public JViewport getRowHeader()
Возвращает заголовок строк.
Возвращает:
значение свойства rowHeader
См. также:
  • setRowHeader(JViewport)

setRowHeader

@BeanProperty(expert=true, description="The row header child for this scrollpane") public void setRowHeader(JViewport rowHeader)
Удаляет старый заголовок строк, если он существует; если новый заголовок строк не равен null, синхронизирует координату y его положения представления с областью просмотра (если она есть), а затем добавляет его в панель прокрутки.

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

Параметры:
rowHeader — новый заголовок строк; если значение равно null, старый заголовок строк все равно удаляется, а для нового заголовка строк задается значение null
См. также:
  • getRowHeader()
  • setRowHeaderView(Component)

setRowHeaderView

public void setRowHeaderView(Component view)
При необходимости создает область просмотра заголовка строк, задает ее представление, а затем добавляет эту область просмотра в панель прокрутки. Например:
JScrollPane scrollpane = new JScrollPane();
scrollpane.setViewportView(myBigComponentToScroll);
scrollpane.setRowHeaderView(myBigComponentsRowHeader);
Параметры:
view — компонент, отображаемый в качестве заголовка строк
См. также:
  • setRowHeader(JViewport)
  • JViewport.setView(Component)

getColumnHeader

public JViewport getColumnHeader()
Возвращает заголовок столбцов.
Возвращает:
значение свойства columnHeader
См. также:
  • setColumnHeader(JViewport)

setColumnHeader

@BeanProperty(visualUpdate=true, description="The column header child for this scrollpane") public void setColumnHeader(JViewport columnHeader)
Удаляет старый заголовок столбцов, если он существует; если новый заголовок столбцов не равен null, синхронизирует координату x его положения представления с областью просмотра (если она есть), а затем добавляет его в панель прокрутки.

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

Параметры:
columnHeader — JViewport, представляющий новый заголовок столбцов
См. также:
  • getColumnHeader()
  • setColumnHeaderView(Component)

setColumnHeaderView

public void setColumnHeaderView(Component view)
При необходимости создает область просмотра заголовка столбцов, задает ее представление, а затем добавляет эту область просмотра в панель прокрутки. Например:
JScrollPane scrollpane = new JScrollPane();
scrollpane.setViewportView(myBigComponentToScroll);
scrollpane.setColumnHeaderView(myBigComponentsColumnHeader);
Параметры:
view — компонент, отображаемый в качестве заголовка столбцов
См. также:
  • setColumnHeader(JViewport)
  • JViewport.setView(Component)

getCorner

public Component getCorner(String key)
Возвращает компонент в указанном углу. Значение key, задающее угол, должно быть одним из следующих:
  • ScrollPaneConstants.LOWER_LEFT_CORNER
  • ScrollPaneConstants.LOWER_RIGHT_CORNER
  • ScrollPaneConstants.UPPER_LEFT_CORNER
  • ScrollPaneConstants.UPPER_RIGHT_CORNER
  • ScrollPaneConstants.LOWER_LEADING_CORNER
  • ScrollPaneConstants.LOWER_TRAILING_CORNER
  • ScrollPaneConstants.UPPER_LEADING_CORNER
  • ScrollPaneConstants.UPPER_TRAILING_CORNER
Параметры:
key — одно из указанных выше значений
Возвращает:
компонент угла (который может быть null), определяемый заданным ключом, или null, если ключ недопустим
См. также:
  • setCorner(String, Component)

setCorner

public void setCorner(String key, Component corner)
Добавляет дочерний компонент, который будет отображаться в одном из углов панели прокрутки, если для него есть место. Например, если отображаются обе полосы прокрутки (у правого и нижнего края панели), компонент левого нижнего угла будет показан в пространстве между концами двух полос прокрутки. Допустимые значения ключа:
  • ScrollPaneConstants.LOWER_LEFT_CORNER
  • ScrollPaneConstants.LOWER_RIGHT_CORNER
  • ScrollPaneConstants.UPPER_LEFT_CORNER
  • ScrollPaneConstants.UPPER_RIGHT_CORNER
  • ScrollPaneConstants.LOWER_LEADING_CORNER
  • ScrollPaneConstants.LOWER_TRAILING_CORNER
  • ScrollPaneConstants.UPPER_LEADING_CORNER
  • ScrollPaneConstants.UPPER_TRAILING_CORNER

Хотя «corner» не соответствует сигнатуре какого-либо свойства JavaBeans, генерируются события PropertyChange, в которых имя свойства задается ключом угла.

Параметры:
key — определяет, в каком углу будет отображаться компонент
corner — один из следующих компонентов:
  • lowerLeft
  • lowerRight
  • upperLeft
  • upperRight
Вызывает исключение:
IllegalArgumentException — если ключ угла недопустим

setComponentOrientation

public void setComponentOrientation(ComponentOrientation co)
Задает ориентацию вертикальной и горизонтальной полос прокрутки в соответствии с аргументом ComponentOrientation.
Переопределяет:
setComponentOrientation в классе Component
Параметры:
co — одно из следующих значений:
  • java.awt.ComponentOrientation.LEFT_TO_RIGHT
  • java.awt.ComponentOrientation.RIGHT_TO_LEFT
  • java.awt.ComponentOrientation.UNKNOWN
См. также:
  • ComponentOrientation

isWheelScrollingEnabled

@BeanProperty(description="Flag for enabling/disabling mouse wheel scrolling") public boolean isWheelScrollingEnabled()
Указывает, будет ли выполняться прокрутка в ответ на вращение колёсика мыши. По умолчанию прокрутка колёсиком включена.
Возвращает:
true, если прокрутка колёсиком мыши включена, иначе false
Начиная с версии:
1.4
См. также:
  • setWheelScrollingEnabled(boolean)

setWheelScrollingEnabled

@BeanProperty(description="Flag for enabling/disabling mouse wheel scrolling") public void setWheelScrollingEnabled(boolean handleWheel)
Включает или отключает прокрутку в ответ на вращение колёсика мыши. По умолчанию прокрутка колёсиком включена.
Параметры:
handleWheel — true, если для MouseWheelEvent следует автоматически выполнять прокрутку, иначе false.
Начиная с версии:
1.4
См. также:
  • isWheelScrollingEnabled()
  • MouseWheelEvent
  • MouseWheelListener

paramString

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

getAccessibleContext

@BeanProperty(bound=false) public AccessibleContext getAccessibleContext()
Возвращает AccessibleContext, связанный с этим JScrollPane. Для панелей прокрутки AccessibleContext имеет вид AccessibleJScrollPane. При необходимости создаётся новый экземпляр AccessibleJScrollPane.
Определён в:
getAccessibleContext в интерфейсе Accessible
Переопределяет:
getAccessibleContext в классе Component
Возвращает:
AccessibleJScrollPane, используемый в качестве AccessibleContext этого JScrollPane

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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/javax/swing/JScrollPane.html

Spec-Zone.ru

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