Класс 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.BorderLayout;
import java.awt.Button;
import java.awt.EventQueue;
import java.awt.Frame;
public class BorderLayoutExample {
public static void main(String[] args) throws Exception {
EventQueue.invokeAndWait(() -> {
Frame frame = new Frame("BorderLayout");
frame.setLayout(new BorderLayout());
frame.add(new Button("North"), BorderLayout.NORTH);
frame.add(new Button("South"), BorderLayout.SOUTH);
frame.add(new Button("East"), BorderLayout.EAST);
frame.add(new Button("West"), BorderLayout.WEST);
frame.add(new Button("Center"), BorderLayout.CENTER);
frame.setSize(300, 300);
frame.setVisible(true);
});
}
}
- Начиная с:
- 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 |
Выполняет компоновку контейнера-аргумента с помощью этой компоновки 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://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/BorderLayout.html
addLayoutComponent(Component, Object).