Класс BorderLayout
- Все реализуемые интерфейсы:
LayoutManager, LayoutManager2, Serializable
public class BorderLayout extends Object implements LayoutManager2, Serializable
NORTH, SOUTH, EAST, WEST и CENTER. При добавлении компонента в контейнер с граничной компоновкой используйте одну из этих пяти констант, например:
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 |
Создаёт граничную компоновку с указанными промежутками между компонентами. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
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 |
Размещает контейнер, переданный в качестве аргумента, с помощью этой граничной компоновки. |
Dimension |
maximumLayoutSize |
Возвращает максимальные размеры этой компоновки с учётом компонентов указанного целевого контейнера. |
Dimension |
minimumLayoutSize |
Определяет минимальный размер контейнера target с помощью этого менеджера компоновки. |
Dimension |
preferredLayoutSize |
Определяет предпочтительный размер контейнера target с помощью этого менеджера компоновки, исходя из компонентов контейнера. |
void |
removeLayoutComponent |
Удаляет указанный компонент из этой граничной компоновки. |
void |
setHgap |
Задаёт горизонтальный промежуток между компонентами. |
void |
setVgap |
Задаёт вертикальный промежуток между компонентами. |
String |
toString() |
Возвращает строковое представление состояния этой граничной компоновки. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект другому объекту. |
protected void |
finalize() |
Устарел, подлежит удалению: этот элемент API может быть удалён в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt либо до истечения заданного промежутка реального времени. |
Подробное описание полей
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— если целевой параметр равен 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.
addLayoutComponent(Component, Object).