Класс BorderLayout
- java.lang.Object
-
- java.awt.BorderLayout
- Все реализованные интерфейсы:
- LayoutManager, LayoutManager2, Serializable
public class BorderLayout extends Object implements LayoutManager2, Serializable
Макет border layout размещает компоненты в контейнере, изменяя и перестраивая их для соответствия пяти областям: север, юг, восток, запад и центр. Каждая область может содержать не более одного компонента и определяется соответствующей константой: NORTH, SOUTH, EAST, WEST, и CENTER. При добавлении компонента в контейнер с макетом border layout используйте одну из этих пяти констант, например:
Panel p = new Panel();
p.setLayout(new BorderLayout());
p.add(new Button("Okay"), BorderLayout.SOUTH); В качестве удобства, BorderLayout интерпретирует отсутствие строкового задания как константу CENTER: Panel p2 = new Panel();
p2.setLayout(new BorderLayout());
p2.add(new TextArea()); // Same as p.add(new TextArea(), BorderLayout.CENTER);
Кроме того, BorderLayout поддерживает константы относительного позиционирования PAGE_START, PAGE_END, LINE_START, и LINE_END. В контейнере, где ComponentOrientation установлено в ComponentOrientation.LEFT_TO_RIGHT, эти константы отображаются как NORTH, SOUTH, WEST, и EAST, соответственно.
Для совместимости с предыдущими версиями, BorderLayout также включает константы относительного позиционирования BEFORE_FIRST_LINE, AFTER_LAST_LINE, BEFORE_LINE_BEGINS и AFTER_LINE_ENDS. Они эквивалентны PAGE_START, PAGE_END, LINE_START и LINE_END соответственно. Для согласованности с константами относительного позиционирования, используемыми другими компонентами, предпочтительнее использовать последние константы.
Смешивание абсолютных и относительных констант позиционирования может привести к непредсказуемым результатам. Если вы используете оба типа, приоритет будут иметь относительные константы. Например, если вы добавляете компоненты, используя как константы NORTH и PAGE_START в контейнере, чья ориентация LEFT_TO_RIGHT, будет отрендерирована только PAGE_START.
ПРИМЕЧАНИЕ: В настоящее время (в платформе Java 2 v1.2) BorderLayout не поддерживает вертикальные ориентации. Настройка isVertical в контейнерном ComponentOrientation не учитывается.
Компоненты размещаются в соответствии со своими предпочтительными размерами и ограничениями размера контейнера. Компоненты NORTH и SOUTH могут растягиваться по горизонтали; компоненты EAST и WEST могут растягиваться по вертикали; компонент CENTER может растягиваться как по горизонтали, так и по вертикали, заполняя оставшееся пространство.
Вот пример пяти кнопок в апплете, расположенных с помощью менеджера макета BorderLayout:
Код для этого апплета следующий:
import java.awt.*;
import java.applet.Applet;
public class buttonDir extends Applet {
public void init() {
setLayout(new BorderLayout());
add(new Button("North"), BorderLayout.NORTH);
add(new Button("South"), BorderLayout.SOUTH);
add(new Button("East"), BorderLayout.EAST);
add(new Button("West"), BorderLayout.WEST);
add(new Button("Center"), BorderLayout.CENTER);
}
}
- С тех пор:
- JDK1.0
- См. также:
-
Container.add(String, Component),ComponentOrientation, Формат сериализации
Поля
| Модификатор и тип | Поле и описание |
|---|---|
static String |
AFTER_LAST_LINE Синоним для PAGE_END. |
static String |
AFTER_LINE_ENDS Синоним для LINE_END. |
static String |
BEFORE_FIRST_LINE Синоним для PAGE_START. |
static String |
BEFORE_LINE_BEGINS Синоним для LINE_START. |
static String |
CENTER Ограничение макета для центра (середины контейнера). |
static String |
EAST Ограничение макета для востока (правой стороны контейнера). |
static String |
LINE_END Компонент располагается в конце направления строки для макета. |
static String |
LINE_START Компонент располагается в начале направления строки для макета. |
static String |
NORTH Ограничение макета для севера (верхней части контейнера). |
static String |
PAGE_END Компонент размещается после последней строки содержимого макета. |
static String |
PAGE_START Компонент размещается перед первой строкой содержимого макета. |
static String |
SOUTH Ограничение макета для юга (нижней части контейнера). |
static String |
WEST Ограничение макета для запада (левой стороны контейнера). |
Конструкторы
| Конструктор и описание |
|---|
BorderLayout() Создает новый макет border layout без отступов между компонентами. |
BorderLayout(int hgap,
int vgap) Создает макет border layout с заданными отступами между компонентами. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
addLayoutComponent(Component comp,
Object constraints) Добавляет указанный компонент в макет, используя указанный объект ограничения. |
void |
addLayoutComponent(String name,
Component comp) Устарело. заменено на |
Object |
getConstraints(Component comp) Получает ограничения для указанного компонента |
int |
getHgap() Возвращает горизонтальный зазор между компонентами. |
float |
getLayoutAlignmentX(Container parent) Возвращает выравнивание по оси x. |
float |
getLayoutAlignmentY(Container parent) Возвращает выравнивание по оси y. |
Component |
getLayoutComponent(Container target,
Object constraints) Возвращает компонент, соответствующий заданному ограничению расположения, на основе ориентации компонента целевого |
Component |
getLayoutComponent(Object constraints) Получает компонент, добавленный с помощью данного ограничения. |
int |
getVgap() Возвращает вертикальный зазор между компонентами. |
void |
invalidateLayout(Container target) Аннулирует макет, указывая, что если менеджер макета кэширует информацию, он должен её отбросить. |
void |
layoutContainer(Container target) Размещает контейнер-аргумент, используя данный макет border layout. |
Dimension |
maximumLayoutSize(Container target) Возвращает максимальные размеры для данного макета, учитывая компоненты в указанном целевом контейнере. |
Dimension |
minimumLayoutSize(Container target) Определяет минимальный размер контейнера |
Dimension |
preferredLayoutSize(Container target) Определяет предпочтительный размер контейнера |
void |
removeLayoutComponent(Component comp) Удаляет указанный компонент из данного макета border layout. |
void |
setHgap(int hgap) Устанавливает горизонтальный зазор между компонентами. |
void |
setVgap(int vgap) Устанавливает вертикальный зазор между компонентами. |
String |
toString() Возвращает строковое представление состояния данного макета border layout. |
Методы, унаследованные от класса java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait Поля
NORTH
public static final String NORTH
Ограничение расположения по горизонтали (верхняя часть контейнера).
- См. также:
- Значения константных полей
SOUTH
public static final String SOUTH
Ограничение расположения по горизонтали (нижняя часть контейнера).
- См. также:
- Значения константных полей
EAST
public static final String EAST
Ограничение расположения по горизонтали (правая сторона контейнера).
- См. также:
- Значения константных полей
WEST
public static final String WEST
Ограничение расположения по горизонтали (левая сторона контейнера).
- См. также:
- Значения константных полей
CENTER
public static final String CENTER
Ограничение расположения по горизонтали (средняя часть контейнера).
- См. также:
- Значения константных полей
BEFORE_FIRST_LINE
public static final String BEFORE_FIRST_LINE
Синоним для PAGE_START. Существует для совместимости с предыдущими версиями. Рекомендуется использовать PAGE_START.
- С:
- 1.2
- См. также:
-
PAGE_START, Значения константных полей
AFTER_LAST_LINE
public static final String AFTER_LAST_LINE
Синоним для PAGE_END. Существует для совместимости с предыдущими версиями. Рекомендуется использовать PAGE_END.
- С:
- 1.2
- См. также:
-
PAGE_END, Значения константных полей
BEFORE_LINE_BEGINS
public static final String BEFORE_LINE_BEGINS
Синоним для LINE_START. Существует для совместимости с предыдущими версиями. Рекомендуется использовать LINE_START.
- С:
- 1.2
- См. также:
-
LINE_START, Значения константных полей
AFTER_LINE_ENDS
public static final String AFTER_LINE_ENDS
Синоним для LINE_END. Существует для совместимости с предыдущими версиями. Рекомендуется использовать LINE_END.
- С:
- 1.2
- См. также:
-
LINE_END, Значения константных полей
PAGE_START
public static final String PAGE_START
Компонент размещается перед первой строкой содержимого макета. Для западных языков с направлением слева направо и сверху вниз, это эквивалентно NORTH.
- С:
- 1.4
- См. также:
-
Component.getComponentOrientation(), Значения константных полей
PAGE_END
public static final String PAGE_END
Компонент размещается после последней строки содержимого макета. Для западных языков с направлением слева направо и сверху вниз, это эквивалентно SOUTH.
- С:
- 1.4
- См. также:
-
Component.getComponentOrientation(), Значения константных полей
LINE_START
public static final String LINE_START
Компонент размещается в начале направления строки для макета. Для западных языков с направлением слева направо и сверху вниз, это эквивалентно WEST.
- С:
- 1.4
- См. также:
-
Component.getComponentOrientation(), Значения константных полей
LINE_END
public static final String LINE_END
Компонент размещается в конце направления строки для макета. Для западных языков с направлением слева направо и сверху вниз, это эквивалентно EAST.
- С:
- 1.4
- См. также:
-
Component.getComponentOrientation(), Значения константных полей
Конструкторы
BorderLayout
public BorderLayout()
Создаёт новый макет BorderLayout без отступов между компонентами.
BorderLayout
public BorderLayout(int hgap,
int vgap) Создаёт макет BorderLayout с заданными отступами между компонентами. Горизонтальный отступ задаётся значением hgap, а вертикальный - vgap.
- Параметры:
-
hgap- горизонтальный отступ. -
vgap- вертикальный отступ.
Методы
getHgap
public int getHgap()
Возвращает горизонтальный отступ между компонентами.
- С:
- JDK1.1
setHgap
public void setHgap(int hgap)
Устанавливает горизонтальный отступ между компонентами.
- Параметры:
-
hgap- горизонтальный отступ между компонентами - С:
- JDK1.1
getVgap
public int getVgap()
Возвращает вертикальный отступ между компонентами.
- С:
- JDK1.1
setVgap
public void setVgap(int vgap)
Устанавливает вертикальный отступ между компонентами.
- Параметры:
-
vgap- вертикальный отступ между компонентами - С:
- JDK1.1
addLayoutComponent
public void addLayoutComponent(Component comp,
Object constraints) Добавляет указанный компонент в макет, используя указанный объект ограничения. Для макетов BorderLayout, ограничение должно быть одной из следующих констант: NORTH, SOUTH, EAST, WEST, или CENTER.
Большинство приложений не вызывают этот метод напрямую. Этот метод вызывается, когда компонент добавляется в контейнер с помощью метода Container.add с теми же типами аргументов.
- Задано:
-
addLayoutComponentв интерфейсеLayoutManager2 - Параметры:
-
comp- компонент, который нужно добавить. -
constraints- объект, определяющий, как и где компонент добавляется в макет. - Исключения:
-
IllegalArgumentException- если объект ограничения не является строкой или не является одной из пяти указанных констант. - С:
- JDK1.1
- См. также:
Container.add(java.awt.Component, java.lang.Object)
addLayoutComponent
@Deprecated
public void addLayoutComponent(String name,
Component comp) Устаревший. Заменён на addLayoutComponent(Component, Object).
Описание скопировано из интерфейса: LayoutManager
Если менеджер макета использует строку для каждого компонента, добавляет компонент comp к макету, связывая его со строкой, указанной name.
- Задано:
-
addLayoutComponentв интерфейсеLayoutManager - Параметры:
-
name- строка, которая должна быть связана с компонентом -
comp- компонент, который нужно добавить
removeLayoutComponent
public void removeLayoutComponent(Component comp)
Удаляет указанный компонент из макета BorderLayout. Этот метод вызывается, когда контейнер вызывает свои методы remove или removeAll. Большинство приложений не вызывают этот метод напрямую.
- Задано:
-
removeLayoutComponentв интерфейсеLayoutManager - Параметры:
-
comp- компонент, который нужно удалить. - См. также:
-
Container.remove(java.awt.Component),Container.removeAll()
getLayoutComponent
public Component getLayoutComponent(Object constraints)
Получает компонент, добавленный с помощью данного ограничения.
- Параметры:
-
constraints- желаемое ограничение, одна изCENTER,NORTH,SOUTH,WEST,EAST,PAGE_START,PAGE_END,LINE_START,LINE_END - Возвращает:
- компонент в заданном месте, или
nullесли место пустое - Исключения:
-
IllegalArgumentException- если объект ограничения не является одной из девяти указанных констант - С:
- 1.5
- См. также:
addLayoutComponent(java.awt.Component, java.lang.Object)
getLayoutComponent
public Component getLayoutComponent(Container target,
Object constraints) Возвращает компонент, соответствующий заданному ограничению в зависимости от ориентации компонента целевого Container. Компоненты, добавленные с относительными ограничениями PAGE_START, PAGE_END, LINE_START, и LINE_END, имеют приоритет над компонентами, добавленными с явными ограничениями NORTH, SOUTH, WEST, и EAST. Ориентация компонента Container используется для определения расположения компонентов, добавленных с LINE_START и LINE_END.
- Параметры:
-
constraints- желаемое абсолютное положение, одно изCENTER,NORTH,SOUTH,EAST,WEST -
target-Container, используемый для получения местоположения ограничения на основе ориентации компонента целевогоContainer. - Возвращает:
- компонент в заданном расположении или
null, если расположение пустое - Выбрасывает:
-
IllegalArgumentException- если объект ограничения не является одним из пяти указанных констант -
NullPointerException- если параметр целевого объекта равен null - С:
- 1.5
- См. также:
addLayoutComponent(java.awt.Component, java.lang.Object)
getConstraints
public Object getConstraints(Component comp)
Получает ограничения для указанного компонента
- Параметры:
-
comp- компонент, который нужно запросить - Возвращает:
- ограничение для указанного компонента или null, если компонент равен null или отсутствует в этом макете
- С:
- 1.5
- См. также:
addLayoutComponent(java.awt.Component, java.lang.Object)
minimumLayoutSize
public Dimension minimumLayoutSize(Container target)
Определяет минимальный размер контейнера target с использованием данного менеджера компоновки.
Этот метод вызывается, когда контейнер вызывает свой метод getMinimumSize. Большинство приложений не вызывают этот метод напрямую.
- Определено в:
-
minimumLayoutSizeв интерфейсеLayoutManager - Параметры:
-
target- контейнер, в котором нужно выполнить компоновку. - Возвращает:
- минимальные размеры, необходимые для компоновки подкомпонентов указанного контейнера.
- См. также:
-
Container,preferredLayoutSize(java.awt.Container),Container.getMinimumSize()
preferredLayoutSize
public Dimension preferredLayoutSize(Container target)
Определяет предпочтительные размеры контейнера target с использованием этого менеджера компоновки на основе компонентов в контейнере.
Большинство приложений не вызывают этот метод напрямую. Этот метод вызывается, когда контейнер вызывает свой метод getPreferredSize.
- Определено в:
-
preferredLayoutSizeв интерфейсеLayoutManager - Параметры:
-
target- контейнер, в котором нужно выполнить компоновку. - Возвращает:
- предпочтительные размеры для компоновки подкомпонентов указанного контейнера.
- См. также:
-
Container,minimumLayoutSize(java.awt.Container),Container.getPreferredSize()
maximumLayoutSize
public Dimension maximumLayoutSize(Container target)
Возвращает максимальные размеры для данной компоновки, учитывая компоненты в указанном целевом контейнере.
- Определено в:
-
maximumLayoutSizeв интерфейсеLayoutManager2 - Параметры:
-
target- компонент, который нужно расположить - См. также:
-
Container,minimumLayoutSize(java.awt.Container),preferredLayoutSize(java.awt.Container)
getLayoutAlignmentX
public float getLayoutAlignmentX(Container parent)
Возвращает выравнивание по оси x. Это определяет, как компонент хочет выровняться относительно других компонентов. Значение должно быть числом от 0 до 1, где 0 соответствует выравниванию по началу координат, 1 — выравниванию по самому удаленному от начала координат участку, 0,5 — центрированию и т. д.
- Определено в:
-
getLayoutAlignmentXв интерфейсеLayoutManager2
getLayoutAlignmentY
public float getLayoutAlignmentY(Container parent)
Возвращает выравнивание по оси y. Это определяет, как компонент хочет выровняться относительно других компонентов. Значение должно быть числом от 0 до 1, где 0 соответствует выравниванию по началу координат, 1 — выравниванию по самому удаленному от начала координат участку, 0,5 — центрированию и т. д.
- Определено в:
-
getLayoutAlignmentYв интерфейсеLayoutManager2
invalidateLayout
public void invalidateLayout(Container target)
Аннулирует компоновку, указывая, что если менеджер компоновки кэшировал информацию, он должен ее удалить.
- Определено в:
-
invalidateLayoutв интерфейсеLayoutManager2
layoutContainer
public void layoutContainer(Container target)
Выполняет компоновку аргумента контейнера с помощью этой компоновки BorderLayout.
Этот метод фактически изменяет размеры компонентов в указанном контейнере, чтобы удовлетворить ограничениям этого объекта BorderLayout. Компоненты NORTH и SOUTH, если таковые имеются, размещаются соответственно в верхней и нижней частях контейнера. Затем компоненты WEST и EAST размещаются соответственно слева и справа. Наконец, объект CENTER размещается в оставшемся пространстве посередине.
Большинство приложений не вызывают этот метод напрямую. Этот метод вызывается, когда контейнер вызывает свой метод doLayout.
- Определено в:
-
layoutContainerв интерфейсеLayoutManager - Параметры:
-
target- контейнер, в котором нужно выполнить компоновку. - См. также:
-
Container,Container.doLayout()
toString
public String toString()
Возвращает строковое представление состояния этой компоновки BorderLayout.
© 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.