Класс ScrollPaneLayout
- java.lang.Object
-
- javax.swing.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-ресурса |
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
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 назначен менеджером компоновки для |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Поля
viewport
protected JViewport viewport
Компонент области просмотра. По умолчанию — пустая JViewport.
vsb
protected JScrollBar vsb
Компонент вертикальной полосы прокрутки. По умолчанию — JScrollBar.
hsb
protected JScrollBar hsb
Компонент горизонтальной полосы прокрутки. По умолчанию — JScrollBar.
rowHead
protected JViewport rowHead
Компонент заголовка строки. По умолчанию — null.
colHead
protected JViewport colHead
Компонент заголовка столбца. По умолчанию — null.
lowerLeft
protected Component lowerLeft
Компонент для отображения в нижнем левом углу. По умолчанию — null.
lowerRight
protected Component lowerRight
Компонент для отображения в нижнем правом углу. По умолчанию — null.
upperLeft
protected Component upperLeft
Компонент для отображения в верхнем левом углу. По умолчанию — null.
upperRight
protected Component upperRight
Компонент для отображения в верхнем правом углу. По умолчанию — null.
vsbPolicy
protected int vsbPolicy
Политика отображения вертикальной полосы прокрутки. По умолчанию — ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED.
Это поле устарело, используйте поле JScrollPane вместо него.
- См. также:
JScrollPane.setVerticalScrollBarPolicy(int)
hsbPolicy
protected int hsbPolicy
Политика отображения горизонтальной полосы прокрутки. По умолчанию — ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED.
Это поле устарело, используйте поле JScrollPane вместо него.
Конструкторы
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)
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