Класс BorderLayout
- Все реализованные интерфейсы:
-
LayoutManager,LayoutManager2,Serializable
public class BorderLayout extends Object implements LayoutManager2, Serializable
NORTH, SOUTH, EAST, WEST и CENTER. При добавлении компоненты в контейнер с макетом BorderLayout используйте одну из этих пяти констант, например:
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.
ПРИМЕЧАНИЕ: В настоящее время 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);
}
}
- С момента:
- 1.0
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final String |
AFTER_LAST_LINE |
Синоним для PAGE_END. |
static final String |
AFTER_LINE_ENDS |
Синоним для LINE_END. |
static final String |
BEFORE_FIRST_LINE |
Синоним для PAGE_START. |
static final String |
BEFORE_LINE_BEGINS |
Синоним для LINE_START. |
static final String |
CENTER |
Констрейнт для центрального макета (середина контейнера). |
static final String |
EAST |
Констрейнт для макета востока (правая сторона контейнера). |
static final String |
LINE_END |
Компонента размещается в конце направления строки для макета. |
static final String |
LINE_START |
Компонента размещается в начале направления строки для макета. |
static final String |
NORTH |
Констрейнт для северного макета (верхняя часть контейнера). |
static final String |
PAGE_END |
Компонента размещается после последней строки содержимого макета. |
static final String |
PAGE_START |
Компонента размещается перед первой строкой содержимого макета. |
static final String |
SOUTH |
Констрейнт для южного макета (нижняя часть контейнера). |
static final String |
WEST |
Констрейнт для западного макета (левая сторона контейнера). |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
BorderLayout() |
Создаёт новый макет BorderLayout без отступов между компонентами. |
BorderLayout |
Создаёт макет BorderLayout с заданными отступами между компонентами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addLayoutComponent |
Добавляет указанную компоненту в макет, используя указанный объект констрейнта. |
void |
addLayoutComponent |
Устарело. |
Object |
getConstraints |
Возвращает констрейнты для указанной компоненты |
int |
getHgap() |
Возвращает горизонтальный отступ между компонентами. |
float |
getLayoutAlignmentX |
Возвращает выравнивание по оси x. |
float |
getLayoutAlignmentY |
Возвращает выравнивание по оси y. |
Component |
getLayoutComponent |
Возвращает компоненту, соответствующую заданному констрейнту расположения, на основе ориентации компоненты целевого Container. |
Component |
getLayoutComponent |
Возвращает компоненту, добавленную с использованием заданного констрейнта |
int |
getVgap() |
Возвращает вертикальный отступ между компонентами. |
void |
invalidateLayout |
Очищает кешированный макет, указывая, что, если менеджер макета имеет кешированную информацию, она должна быть отброшена. |
void |
layoutContainer |
Размещает контейнер argument с помощью макета BorderLayout. |
Dimension |
maximumLayoutSize |
Возвращает максимальные размеры для этого макета, учитывая компоненты в указанном целевом контейнере. |
Dimension |
minimumLayoutSize |
Определяет минимальный размер контейнера target, используя данный менеджер макета. |
Dimension |
preferredLayoutSize |
Определяет предпочтительный размер контейнера target, используя данный менеджер макета, на основе компонентов в контейнере. |
void |
removeLayoutComponent |
Удаляет указанную компоненту из этого макета BorderLayout. |
void |
setHgap |
Устанавливает горизонтальный отступ между компонентами. |
void |
setVgap |
Устанавливает вертикальный отступ между компонентами. |
String |
toString() |
Возвращает строковое представление состояния этого макета BorderLayout. |
Подробное описание полей
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
- С:
- 1.2
- См. также:
AFTER_LAST_LINE
public static final String AFTER_LAST_LINE
- С:
- 1.2
- См. также:
BEFORE_LINE_BEGINS
public static final String BEFORE_LINE_BEGINS
- С:
- 1.2
- См. также:
AFTER_LINE_ENDS
public static final String AFTER_LINE_ENDS
- С:
- 1.2
- См. также:
PAGE_START
public static final String PAGE_START
- С:
- 1.4
- См. также:
PAGE_END
public static final String PAGE_END
- С:
- 1.4
- См. также:
LINE_START
public static final String LINE_START
- С:
- 1.4
- См. также:
LINE_END
public static final String LINE_END
- С:
- 1.4
- См. также:
Подробное описание конструкторов
BorderLayout
public BorderLayout()
BorderLayout
public BorderLayout(int hgap, int vgap)
hgap, а вертикальный — значением vgap.- Параметры:
-
hgap- горизонтальный отступ. -
vgap- вертикальный отступ.
Подробное описание методов
getHgap
public int getHgap()
- Возвращает:
- горизонтальный отступ между компонентами
- С:
- 1.1
setHgap
public void setHgap(int hgap)
- Параметры:
-
hgap- горизонтальный отступ между компонентами - С:
- 1.1
getVgap
public int getVgap()
- Возвращает:
- вертикальный отступ между компонентами
- С:
- 1.1
setVgap
public void setVgap(int vgap)
- Параметры:
-
vgap- вертикальный отступ между компонентами - С:
- 1.1
addLayoutComponent
public void addLayoutComponent(Component comp, Object constraints)
NORTH, SOUTH, EAST, WEST или CENTER. Большинство приложений не вызывают этот метод напрямую. Этот метод вызывается, когда компонент добавляется в контейнер с помощью метода Container.add с теми же типами аргументов.
- Задано интерфейсом:
-
addLayoutComponentв интерфейсеLayoutManager2 - Параметры:
-
comp- компонент, который нужно добавить. -
constraints- объект, который определяет, как и куда компонент добавляется в макет. - Исключения:
-
IllegalArgumentException- если объект ограничения не является строкой или не является одной из пяти указанных констант. - С:
- 1.1
- См. также:
addLayoutComponent
@Deprecated public void addLayoutComponent(String name, Component comp)
addLayoutComponent(Component, Object).LayoutManagercomp в компоновку, ассоциируя его со строкой, указанной в name.- Определено в:
-
addLayoutComponentв интерфейсеLayoutManager - Параметры:
-
name- строка, которая будет ассоциирована с компонентом -
comp- компонент, который нужно добавить
removeLayoutComponent
public void removeLayoutComponent(Component comp)
remove или removeAll методы. Большинство приложений не вызывают этот метод напрямую.- Определено в:
-
removeLayoutComponentв интерфейсеLayoutManager - Параметры:
-
comp- компонент, который нужно удалить. - См. также:
getLayoutComponent
public Component getLayoutComponent(Object constraints)
- Параметры:
-
constraints- желаемое ограничение, одно изCENTER,NORTH,SOUTH,WEST,EAST,PAGE_START,PAGE_END,LINE_START,LINE_END - Возвращает:
- компонента в заданном месте, или
null, если место пустое - Исключения:
-
IllegalArgumentException- если объект ограничения не является одним из девяти указанных констант - С тех пор:
- 1.5
- См. также:
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.- Параметры:
-
target-Container, используемый для получения местоположения ограничения на основе ориентации компонентов целевогоContainer. -
constraints- желаемое абсолютное положение, одно изCENTER,NORTH,SOUTH,EAST,WEST - Возвращает:
- компонента в заданном месте, или
null, если место пустое - Исключения:
-
IllegalArgumentException- если объект ограничения не является одним из пяти указанных констант -
NullPointerException- если параметр target равен null - С тех пор:
- 1.5
- См. также:
getConstraints
public Object getConstraints(Component comp)
- Параметры:
-
comp- компонент, который нужно запросить - Возвращает:
- ограничение для указанного компонента или null, если компонент равен null или отсутствует в этой компоновке
- С тех пор:
- 1.5
- См. также:
minimumLayoutSize
public Dimension minimumLayoutSize(Container target)
target контейнера, используя этот менеджер компоновки. Этот метод вызывается, когда контейнер вызывает свой метод getMinimumSize. Большинство приложений не вызывают этот метод напрямую.
- Определено в:
-
minimumLayoutSizeв интерфейсеLayoutManager - Параметры:
-
target- контейнер, в котором нужно выполнить компоновку. - Возвращает:
- минимальные размеры, необходимые для компоновки подкомпонентов указанного контейнера.
- См. также:
preferredLayoutSize
public Dimension preferredLayoutSize(Container target)
target контейнера, используя этот менеджер компоновки, на основе компонентов в контейнере. Большинство приложений не вызывают этот метод напрямую. Этот метод вызывается, когда контейнер вызывает свой метод getPreferredSize.
- Определено в:
-
preferredLayoutSizeв интерфейсеLayoutManager - Параметры:
-
target- контейнер, в котором нужно выполнить компоновку. - Возвращает:
- предпочтительные размеры для компоновки подкомпонентов указанного контейнера.
- См. также:
maximumLayoutSize
public Dimension maximumLayoutSize(Container target)
- Определено в:
-
maximumLayoutSizeв интерфейсеLayoutManager2 - Параметры:
-
target- компонент, который нужно расположить - Возвращает:
- максимальный размер контейнера
- См. также:
getLayoutAlignmentX
public float getLayoutAlignmentX(Container parent)
- Определено в:
-
getLayoutAlignmentXв интерфейсеLayoutManager2 - Параметры:
-
parent- целевой контейнер - Возвращает:
- предпочтение выравнивания по оси x
getLayoutAlignmentY
public float getLayoutAlignmentY(Container parent)
- Определено в:
-
getLayoutAlignmentYв интерфейсеLayoutManager2 - Параметры:
-
parent- целевой контейнер - Возвращает:
- предпочтение выравнивания по оси y
invalidateLayout
public void invalidateLayout(Container target)
- Определено в:
-
invalidateLayoutв интерфейсеLayoutManager2 - Параметры:
-
target- целевой контейнер
layoutContainer
public void layoutContainer(Container target)
Этот метод фактически переформировывает компоненты в указанном контейнере для удовлетворения ограничений этого BorderLayout объекта. Компоненты NORTH и SOUTH, если таковые имеются, размещаются соответственно вверху и внизу контейнера. Компоненты WEST и EAST затем размещаются слева и справа соответственно. Наконец, объект CENTER размещается в любом оставшемся пространстве посередине.
Большинство приложений не вызывают этот метод напрямую. Этот метод вызывается, когда контейнер вызывает свой метод doLayout.
- Указано:
-
layoutContainerв интерфейсеLayoutManager - Параметры:
-
target- контейнер, в котором нужно выполнить расположение. - См. также:
toString
© 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://download.java.net/java/early_access/jdk24/docs/api/java.desktop/java/awt/BorderLayout.html
addLayoutComponent(Component, Object).