Класс 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).comp в компоновку, связывая его со строкой, заданной name.- Указано в:
-
addLayoutComponentв интерфейсеLayoutManager - Параметры:
-
name- строка, которая будет связана с компонентом -
comp- компонент, который нужно добавить
removeLayoutComponent
public void removeLayoutComponent(Component comp)
remove или removeAll. Большинство приложений не вызывают этот метод напрямую.- Specified by:
-
removeLayoutComponentв интерфейсеLayoutManager - Parameters:
-
comp- компонент, который нужно удалить. - See Also:
getLayoutComponent
public Component getLayoutComponent(Object constraints)
- Parameters:
-
constraints- желаемое ограничение, одно изCENTER,NORTH,SOUTH,WEST,EAST,PAGE_START,PAGE_END,LINE_START,LINE_END - Returns:
- компонент в заданном месте или
null, если место пустое - Throws:
-
IllegalArgumentException- если объект ограничения не является одним из девяти указанных констант - Since:
- 1.5
- See Also:
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.- Parameters:
-
constraints- желаемая абсолютная позиция, одна изCENTER,NORTH,SOUTH,EAST,WEST -
target-Containerиспользуется для получения позиции ограничения на основе ориентации компонента целевогоContainer. - Returns:
- компонент в заданном месте или
nullесли место пустое - Throws:
-
IllegalArgumentException- если объект ограничения не является одной из пяти указанных констант -
NullPointerException- если параметр target равен null - Since:
- 1.5
- See Also:
getConstraints
public Object getConstraints(Component comp)
- Parameters:
-
comp- компонент для запроса - Returns:
- ограничение для указанного компонента или null, если компонент равен null или отсутствует в этой компоновке
- Since:
- 1.5
- See Also:
minimumLayoutSize
public Dimension minimumLayoutSize(Container target)
target с помощью этого менеджера компоновки. Этот метод вызывается, когда контейнер вызывает свой метод getMinimumSize . Большинство приложений не вызывают этот метод напрямую.
- Specified by:
-
minimumLayoutSizeв интерфейсеLayoutManager - Parameters:
-
target- контейнер, для которого необходимо выполнить компоновку. - Returns:
- минимальные размеры, необходимые для компоновки подкомпонентов указанного контейнера.
- See Also:
preferredLayoutSize
public Dimension preferredLayoutSize(Container target)
target с помощью этого менеджера компоновки, на основе компонентов в контейнере. Большинство приложений не вызывают этот метод напрямую. Этот метод вызывается, когда контейнер вызывает свой метод getPreferredSize.
- Specified by:
-
preferredLayoutSizeв интерфейсеLayoutManager - Parameters:
-
target- контейнер, для которого необходимо выполнить компоновку. - Returns:
- предпочтительные размеры для компоновки подкомпонентов указанного контейнера.
- See Also:
maximumLayoutSize
public Dimension maximumLayoutSize(Container target)
- Specified by:
-
maximumLayoutSizeв интерфейсеLayoutManager2 - Parameters:
-
target- компонент, который нужно расположить - Returns:
- максимальный размер контейнера
- See Also:
getLayoutAlignmentX
public float getLayoutAlignmentX(Container parent)
- Specified by:
-
getLayoutAlignmentXв интерфейсеLayoutManager2 - Parameters:
-
parent- целевой контейнер - Returns:
- предпочтение выравнивания по оси x
getLayoutAlignmentY
public float getLayoutAlignmentY(Container parent)
- Specified by:
-
getLayoutAlignmentYв интерфейсеLayoutManager2 - Parameters:
-
parent- целевой контейнер - Returns:
- предпочтение выравнивания по оси y
invalidateLayout
public void invalidateLayout(Container target)
- Specified by:
-
invalidateLayoutв интерфейсеLayoutManager2 - Parameters:
-
target- целевой контейнер
layoutContainer
public void layoutContainer(Container target)
Этот метод фактически переформировывает компоненты в указанном контейнере, чтобы удовлетворить ограничениям этого объекта BorderLayout. Компоненты NORTH и SOUTH, если таковые имеются, размещаются вверху и внизу контейнера соответственно. Затем компоненты WEST и EAST размещаются слева и справа соответственно. Наконец, объект CENTER размещается в оставшемся пространстве посередине.
Большинство приложений не вызывают этот метод напрямую. Этот метод вызывается, когда контейнер вызывает свой метод doLayout.
- Specified by:
-
layoutContainerв интерфейсеLayoutManager - Parameters:
-
target- контейнер, для которого необходимо выполнить компоновку. - See Also:
toString
public String toString()
- Overrides:
-
toStringв классеObject - Returns:
- строковое представление этой компоновки по границам.
© 1993, 2021, 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/17/docs/api/java.desktop/java/awt/BorderLayout.html
addLayoutComponent(Component, Object).