Класс ScrollPaneLayout

Все реализованные интерфейсы:
LayoutManager, Serializable, ScrollPaneConstants
Прямые известные подклассы:
ScrollPaneLayout.UIResource
public class ScrollPaneLayout
extends Object
implements LayoutManager, ScrollPaneConstants, Serializable

Менеджер компоновки, используемый для JScrollPane. JScrollPaneLayout отвечает за девять компонентов: область просмотра, две полосы прокрутки, заголовок строки, заголовок столбца и четыре компонента «угла».

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

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

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

Модификатор и тип Класс Описание
static class  ScrollPaneLayout.UIResource

Версия UI-ресурса ScrollPaneLayout.

Поля

Модификатор и тип Поле Описание
protected JViewport colHead

Компонент заголовка столбца.

protected JScrollBar hsb

Компонент горизонтальной полосы прокрутки.

protected int hsbPolicy

Политика отображения горизонтальной полосы прокрутки.

protected Component lowerLeft

Компонент для отображения в нижнем левом углу.

protected Component lowerRight

Компонент для отображения в нижнем правом углу.

protected JViewport rowHead

Компонент заголовка строки.

protected Component upperLeft

Компонент для отображения в верхнем левом углу.

protected Component upperRight

Компонент для отображения в верхнем правом углу.

protected JViewport viewport

Компонент области просмотра.

protected JScrollBar vsb

Компонент вертикальной полосы прокрутки.

protected int vsbPolicy

Политика отображения вертикальной полосы прокрутки.

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

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

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

Методы

Модификатор и тип Метод Описание
void addLayoutComponent​(String s, Component c)

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

protected Component addSingletonComponent​(Component oldC, Component newC)

Удаляет существующий компонент.

JViewport getColumnHeader()

Возвращает объект, являющийся заголовком столбца.

Component getCorner​(String key)

Возвращает компонент в указанном углу.

JScrollBar getHorizontalScrollBar()

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

int getHorizontalScrollBarPolicy()

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

JViewport getRowHeader()

Возвращает объект, являющийся заголовком строки.

JScrollBar getVerticalScrollBar()

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

int getVerticalScrollBarPolicy()

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

JViewport getViewport()

Возвращает объект, отображающий прокручиваемое содержимое.

Rectangle getViewportBorderBounds​(JScrollPane scrollpane)

Устарело.

Начиная с версии JDK Swing1.1, заменено на JScrollPane.getViewportBorderBounds().

void layoutContainer​(Container parent)

Компонует область прокрутки.

Dimension minimumLayoutSize​(Container parent)

Минимальный размер области прокрутки — это размер отступов плюс минимальный размер области просмотра, плюс отступы viewportBorder области прокрутки, плюс минимальный размер видимых заголовков, плюс минимальный размер полос прокрутки, политика отображения которых не NEVER.

Dimension preferredLayoutSize​(Container parent)

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

void removeLayoutComponent​(Component c)

Удаляет указанный компонент из компоновки.

void setHorizontalScrollBarPolicy​(int x)

Устанавливает политику отображения горизонтальной полосы прокрутки.

void setVerticalScrollBarPolicy​(int x)

Устанавливает политику отображения вертикальной полосы прокрутки.

void syncWithScrollPane​(JScrollPane sp)

Этот метод вызывается после того, как ScrollPaneLayout назначен менеджером компоновки для JScrollPane.

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

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

Поля

viewport

protected JViewport viewport

Компонент области просмотра. По умолчанию — пустая JViewport.

См. также:
JScrollPane.setViewport(javax.swing.JViewport)

vsb

protected JScrollBar vsb

Компонент вертикальной полосы прокрутки. По умолчанию — JScrollBar.

См. также:
JScrollPane.setVerticalScrollBar(javax.swing.JScrollBar)

hsb

protected JScrollBar hsb

Компонент горизонтальной полосы прокрутки. По умолчанию — JScrollBar.

См. также:
JScrollPane.setHorizontalScrollBar(javax.swing.JScrollBar)

rowHead

protected JViewport rowHead

Компонент заголовка строки. По умолчанию — null.

См. также:
JScrollPane.setRowHeader(javax.swing.JViewport)

colHead

protected JViewport colHead

Компонент заголовка столбца. По умолчанию — null.

См. также:
JScrollPane.setColumnHeader(javax.swing.JViewport)

lowerLeft

protected Component lowerLeft

Компонент для отображения в нижнем левом углу. По умолчанию — null.

См. также:
JScrollPane.setCorner(java.lang.String, java.awt.Component)

lowerRight

protected Component lowerRight

Компонент для отображения в нижнем правом углу. По умолчанию — null.

См. также:
JScrollPane.setCorner(java.lang.String, java.awt.Component)

upperLeft

protected Component upperLeft

Компонент для отображения в верхнем левом углу. По умолчанию — null.

См. также:
JScrollPane.setCorner(java.lang.String, java.awt.Component)

upperRight

protected Component upperRight

Компонент для отображения в верхнем правом углу. По умолчанию — null.

См. также:
JScrollPane.setCorner(java.lang.String, java.awt.Component)

vsbPolicy

protected int vsbPolicy

Политика отображения вертикальной полосы прокрутки. По умолчанию — ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED.

Это поле устарело, используйте поле JScrollPane вместо него.

См. также:
JScrollPane.setVerticalScrollBarPolicy(int)

hsbPolicy

protected int hsbPolicy

Политика отображения горизонтальной полосы прокрутки. По умолчанию — ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED.

Это поле устарело, используйте поле JScrollPane вместо него.

См. также:
JScrollPane.setHorizontalScrollBarPolicy(int)

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

ScrollPaneLayout

public ScrollPaneLayout()

Методы

syncWithScrollPane

public void syncWithScrollPane(JScrollPane sp)

Этот метод вызывается после того, как ScrollPaneLayout задан как LayoutManager для JScrollPane. Он инициализирует все внутренние поля, которые обычно устанавливаются addLayoutComponent. Например:

ScrollPaneLayout mySPLayout = new ScrollPanelLayout() {
     public void layoutContainer(Container p) {
         super.layoutContainer(p);
         // do some extra work here ...
     }
 };
 scrollpane.setLayout(mySPLayout):

Параметры:
sp - экземпляр JScrollPane

addSingletonComponent

protected Component addSingletonComponent(Component oldC,
                                          Component newC)

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

Этот метод возвращает newC. Если oldC не равно newC и не является null, оно будет удалено из своего родителя.

Параметры:
oldC - компонент, который нужно заменить
newC - компонент, который нужно добавить
Возвращает:
заменённый newC

addLayoutComponent

public void addLayoutComponent(String s,
                               Component c)

Добавляет указанный компонент в макет. Макет определяется одним из следующих значений:

  • ScrollPaneConstants.VIEWPORT
  • ScrollPaneConstants.VERTICAL_SCROLLBAR
  • ScrollPaneConstants.HORIZONTAL_SCROLLBAR
  • ScrollPaneConstants.ROW_HEADER
  • ScrollPaneConstants.COLUMN_HEADER
  • ScrollPaneConstants.LOWER_LEFT_CORNER
  • ScrollPaneConstants.LOWER_RIGHT_CORNER
  • ScrollPaneConstants.UPPER_LEFT_CORNER
  • ScrollPaneConstants.UPPER_RIGHT_CORNER

Определено в:
addLayoutComponent в интерфейсе LayoutManager
Параметры:
s - идентификатор компонента
c - компонент, который нужно добавить
Исключения:
IllegalArgumentException - если s является недопустимым ключом

removeLayoutComponent

public void removeLayoutComponent(Component c)

Удаляет указанный компонент из макета.

Определено в:
removeLayoutComponent в интерфейсе LayoutManager
Параметры:
c - компонент, который нужно удалить

getVerticalScrollBarPolicy

public int getVerticalScrollBarPolicy()

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

Возвращает:
целое число, определяющее политику отображения
См. также:
setVerticalScrollBarPolicy(int)

setVerticalScrollBarPolicy

public void setVerticalScrollBarPolicy(int x)

Устанавливает политику отображения вертикальной полосы прокрутки. Доступные значения:

  • ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED
  • ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER
  • ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS
Примечание: приложения должны использовать версию этого метода с JScrollPane. Он существует только для обратной совместимости со Swing 1.0.2 (и более ранними) версиями этого класса.

Параметры:
x - целое число, определяющее политику отображения
Исключения:
IllegalArgumentException - если x является недопустимой политикой отображения вертикальной полосы прокрутки, как указано выше

getHorizontalScrollBarPolicy

public int getHorizontalScrollBarPolicy()

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

Возвращает:
целое число, определяющее политику отображения
См. также:
setHorizontalScrollBarPolicy(int)

setHorizontalScrollBarPolicy

public void setHorizontalScrollBarPolicy(int x)

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

  • ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED
  • ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER
  • ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS
Примечание: приложения должны использовать версию этого метода с JScrollPane. Он существует только для обратной совместимости со Swing 1.0.2 (и более ранними) версиями этого класса.

Параметры:
x - целое число, определяющее политику отображения
Исключения:
IllegalArgumentException - если x не является допустимой политикой отображения горизонтальной полосы прокрутки, как указано выше

getViewport

public JViewport getViewport()

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

Возвращает:
объект JViewport, отображающий содержимое с возможностью прокрутки
См. также:
JScrollPane.getViewport()

getHorizontalScrollBar

public JScrollBar getHorizontalScrollBar()

Возвращает объект JScrollBar, отвечающий за горизонтальную прокрутку.

Возвращает:
объект JScrollBar, отвечающий за горизонтальную прокрутку
См. также:
JScrollPane.getHorizontalScrollBar()

getVerticalScrollBar

public JScrollBar getVerticalScrollBar()

Возвращает объект JScrollBar, отвечающий за вертикальную прокрутку.

Возвращает:
объект JScrollBar, отвечающий за вертикальную прокрутку
См. также:
JScrollPane.getVerticalScrollBar()

getRowHeader

public JViewport getRowHeader()

Возвращает объект JViewport, представляющий собой заголовок строки.

Возвращает:
объект JViewport, представляющий собой заголовок строки
См. также:
JScrollPane.getRowHeader()

getColumnHeader

public JViewport getColumnHeader()

Возвращает объект JViewport, представляющий собой заголовок столбца.

Возвращает:
объект JViewport, представляющий собой заголовок столбца
См. также:
JScrollPane.getColumnHeader()

getCorner

public Component getCorner(String key)

Возвращает Component в указанном углу.

Параметры:
key - String, определяющий угол
Возвращает:
объект Component в указанном углу, как определено в ScrollPaneConstants; если key не является одним из четырёх углов, возвращается null
См. также:
JScrollPane.getCorner(java.lang.String)

preferredLayoutSize

public Dimension preferredLayoutSize(Container parent)

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

Обратите внимание, что заголовок строки учитывается при расчёте предпочтительной ширины, а заголовок столбца — при расчёте предпочтительного размера.

Определено в:
preferredLayoutSize в интерфейсе LayoutManager
Параметры:
parent - Container для макета
Возвращает:
объект Dimension, определяющий предпочтительный размер области просмотра и полос прокрутки
См. также:
ViewportLayout, LayoutManager

minimumLayoutSize

public Dimension minimumLayoutSize(Container parent)

Минимальный размер ScrollPane — это размер отступов плюс минимальный размер области просмотра, плюс отступы границы области просмотра в JScrollPane, плюс минимальный размер видимых заголовков, плюс минимальный размер полос прокрутки, политика отображения которых не NEVER.

Определено в:
minimumLayoutSize в интерфейсе LayoutManager
Параметры:
parent - Container для макета
Возвращает:
объект Dimension, определяющий минимальный размер
См. также:
LayoutManager.preferredLayoutSize(java.awt.Container)

layoutContainer

public void layoutContainer(Container parent)

Выполняет макет JScrollPane. Размещение компонентов зависит от следующих ограничений:

  • Если присутствует и виден заголовок строки, он получает предпочтительную ширину и высоту области просмотра.
  • Если присутствует и виден заголовок столбца, он получает предпочтительную высоту и ширину области просмотра.
  • Если необходима вертикальная полоса прокрутки (т.е. высота области просмотра меньше высоты представления или политика отображения вертикальной полосы прокрутки — ALWAYS), она обрабатывается как заголовок строки с точки зрения размеров и делается видимой.
  • Если необходима горизонтальная полоса прокрутки, она обрабатывается как заголовок столбца (см. предыдущий абзац о вертикальной полосе прокрутки).
  • Если у JScrollPane есть компонент в углу, не являющийся null, то для него выделяется место.
  • Область просмотра получает оставшееся место после учёта предыдущих ограничений.
  • Компоненты в углах, если они присутствуют, выравниваются с концами полос прокрутки и заголовков. Если есть вертикальная полоса прокрутки, появляются правые углы; если есть горизонтальная полоса прокрутки, появляются нижние углы; заголовок строки получает левые углы, а заголовок столбца — верхние.

Определено в:
layoutContainer в интерфейсе LayoutManager
Параметры:
parent - Container для макета

getViewportBorderBounds

@Deprecated
public Rectangle getViewportBorderBounds(JScrollPane scrollpane)
Deprecated.
С версии JDK Swing1.1 заменено на JScrollPane.getViewportBorderBounds().

Возвращает границы рамки вокруг области просмотра указанного JScrollPane.

Параметры:
scrollpane - экземпляр JScrollPane
Возвращает:
размер и положение границы области просмотра

© 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/javax/swing/ScrollPaneLayout.html

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