Класс 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.
- См. также:
-
JScrollPane,JViewport
Вложенные классы
| Модификатор и тип | Класс и описание |
|---|---|
static class |
ScrollPaneLayout.UIResource Версия UI-ресурса |
Поля
| Модификатор и тип | Поле и описание |
|---|---|
protected JViewport |
colHead Компонент заголовка столбца. |
protected JScrollBar |
hsb Компонент горизонтальной полосы прокрутки scrollpane. |
protected int |
hsbPolicy Политика отображения горизонтальной полосы прокрутки. |
protected Component |
lowerLeft Компонент для отображения в нижнем левом углу. |
protected Component |
lowerRight Компонент для отображения в нижнем правом углу. |
protected JViewport |
rowHead Компонент заголовка строки. |
protected Component |
upperLeft Компонент для отображения в верхнем левом углу. |
protected Component |
upperRight Компонент для отображения в верхнем правом углу. |
protected JViewport |
viewport Компонент области просмотра scrollpane. |
protected JScrollBar |
vsb Компонент вертикальной полосы прокрутки scrollpane. |
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 заменён на |
void |
layoutContainer(Container parent) Компонует scrollpane. |
Dimension |
minimumLayoutSize(Container parent) Минимальный размер |
Dimension |
preferredLayoutSize(Container parent) Предпочтительный размер |
void |
removeLayoutComponent(Component c) Удаляет указанный компонент из компоновки. |
void |
setHorizontalScrollBarPolicy(int x) Устанавливает политику отображения горизонтальной полосы прокрутки. |
void |
setVerticalScrollBarPolicy(int x) Устанавливает политику отображения вертикальной полосы прокрутки. |
void |
syncWithScrollPane(JScrollPane sp) Этот метод вызывается после того, как ScrollPaneLayout задан как LayoutManager |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Поля
viewport
protected JViewport viewport
Дочерний элемент 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): 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- строка, определяющая угол - Возвращает:
- компонент
Componentв указанном углу, как определено вScrollPaneConstants; еслиkeyне является одним из четырёх углов, возвращаетсяnull - См. также:
JScrollPane.getCorner(java.lang.String)
preferredLayoutSize
public Dimension preferredLayoutSize(Container parent)
Предпочтительный размер ScrollPane равен размеру отступов, плюс предпочтительный размер viewport, плюс предпочтительный размер видимых заголовков, плюс предпочтительный размер полос прокрутки, которые появятся при текущем представлении и текущих политиках отображения полос прокрутки.
Обратите внимание, что rowHeader рассчитывается как часть предпочтительной ширины, а colHeader — как часть предпочтительного размера.
- Унаследованно от:
-
preferredLayoutSizeв интерфейсеLayoutManager - Параметры:
-
parent- контейнер, который будет разложен - Возвращает:
- объект
Dimension, определяющий предпочтительный размер viewport и полос прокрутки - См. также:
-
ViewportLayout,LayoutManager
minimumLayoutSize
public Dimension minimumLayoutSize(Container parent)
Минимальный размер ScrollPane — это размер отступов плюс минимальный размер области просмотра, плюс отступы области просмотра полосы прокрутки, плюс минимальный размер видимых заголовков, плюс минимальный размер полос прокрутки, для которых значение displayPolicy не равно NEVER.
- Определено в:
-
minimumLayoutSizeв интерфейсеLayoutManager - Параметры:
-
parent- компонентContainer, который будет размещён - Возвращает:
- объект
Dimension, определяющий минимальный размер - См. также:
LayoutManager.preferredLayoutSize(java.awt.Container)
layoutContainer
public void layoutContainer(Container parent)
Размещает полосу прокрутки. Размещение компонентов зависит от следующих ограничений:
- Заголовок строки, если он присутствует и виден, получает предпочтительную ширину и высоту области просмотра.
- Заголовок столбца, если он присутствует и виден, получает предпочтительную высоту и ширину области просмотра.
- Если требуется вертикальная полоса прокрутки, то есть если высота области просмотра меньше высоты её представления или если
displayPolicyравна ALWAYS, она рассматривается как заголовок строки в отношении своих размеров и делается видимой. - Если требуется горизонтальная полоса прокрутки, она рассматривается как заголовок столбца (см. предыдущий абзац, касающийся вертикальной полосы прокрутки).
- Если полоса прокрутки имеет не-
nullviewportBorder, то выделяется место для этого. - Область просмотра получает доступное пространство после учёта предыдущих ограничений.
- Компоненты угла, если они предоставлены, выравниваются с концами полос прокрутки и заголовков. Если есть вертикальная полоса прокрутки, отображаются правые углы; если есть горизонтальная полоса прокрутки, отображаются нижние углы; заголовок строки получает левые углы, а заголовок столбца — верхние углы.
- Определено в:
-
layoutContainerв интерфейсеLayoutManager - Параметры:
-
parent- полоса прокрутки для размещения
getViewportBorderBounds
@Deprecated public Rectangle getViewportBorderBounds(JScrollPane scrollpane)
Устаревший. С версии JDK Swing1.1 заменён на JScrollPane.getViewportBorderBounds().
Возвращает границы рамки вокруг области просмотра указанной полосы прокрутки.
- Возвращает:
- размер и положение рамки области просмотра
© 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.