Spec-Zone.ru › OpenJDK 24

Класс BorderLayout

java.lang.Object
java.awt.BorderLayout
Все реализованные интерфейсы:
LayoutManager, LayoutManager2, Serializable
public class BorderLayout extends Object implements LayoutManager2, Serializable
Макет расположения BorderLayout размещает компоненты контейнера, перераспределяя их для размещения в пяти областях: верх, низ, восток, запад и центр. Каждая область может содержать не более одной компоненты и идентифицируется соответствующей константой: 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:

Diagram of an applet
 demonstrating BorderLayout. Each section of the BorderLayout contains a
 Button corresponding to its position in the layout, one of: North, West,
 Center, East, or South.

Код этого апплета следующий:

 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
См. также:
  • Container.add(String, Component)
  • ComponentOrientation
  • Сериализованная форма

Краткое описание полей

Модификатор и тип Поле Описание
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(int hgap, int vgap)
Создаёт макет BorderLayout с заданными отступами между компонентами.

Краткое описание методов

Модификатор и тип Метод Описание
void addLayoutComponent(Component comp, Object constraints)
Добавляет указанную компоненту в макет, используя указанный объект констрейнта.
void addLayoutComponent(String name, Component comp)
Устарело.
заменено на addLayoutComponent(Component, Object).
Object getConstraints(Component comp)
Возвращает констрейнты для указанной компоненты
int getHgap()
Возвращает горизонтальный отступ между компонентами.
float getLayoutAlignmentX(Container parent)
Возвращает выравнивание по оси x.
float getLayoutAlignmentY(Container parent)
Возвращает выравнивание по оси y.
Component getLayoutComponent(Container target, Object constraints)
Возвращает компоненту, соответствующую заданному констрейнту расположения, на основе ориентации компоненты целевого Container.
Component getLayoutComponent(Object constraints)
Возвращает компоненту, добавленную с использованием заданного констрейнта
int getVgap()
Возвращает вертикальный отступ между компонентами.
void invalidateLayout(Container target)
Очищает кешированный макет, указывая, что, если менеджер макета имеет кешированную информацию, она должна быть отброшена.
void layoutContainer(Container target)
Размещает контейнер argument с помощью макета BorderLayout.
Dimension maximumLayoutSize(Container target)
Возвращает максимальные размеры для этого макета, учитывая компоненты в указанном целевом контейнере.
Dimension minimumLayoutSize(Container target)
Определяет минимальный размер контейнера target, используя данный менеджер макета.
Dimension preferredLayoutSize(Container target)
Определяет предпочтительный размер контейнера target, используя данный менеджер макета, на основе компонентов в контейнере.
void removeLayoutComponent(Component comp)
Удаляет указанную компоненту из этого макета BorderLayout.
void setHgap(int hgap)
Устанавливает горизонтальный отступ между компонентами.
void setVgap(int vgap)
Устанавливает вертикальный отступ между компонентами.
String toString()
Возвращает строковое представление состояния этого макета BorderLayout.

Методы, объявленные в классе 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()
Возвращает горизонтальный отступ между компонентами.
Возвращает:
горизонтальный отступ между компонентами
С:
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)
Добавляет указанный компонент в макет, используя указанный объект ограничения. Для BorderLayout ограничения должны быть одними из следующих констант: NORTH, SOUTH, EAST, WEST или CENTER.

Большинство приложений не вызывают этот метод напрямую. Этот метод вызывается, когда компонент добавляется в контейнер с помощью метода Container.add с теми же типами аргументов.

Задано интерфейсом:
addLayoutComponent в интерфейсе LayoutManager2
Параметры:
comp - компонент, который нужно добавить.
constraints - объект, который определяет, как и куда компонент добавляется в макет.
Исключения:
IllegalArgumentException - если объект ограничения не является строкой или не является одной из пяти указанных констант.
С:
1.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)
Удаляет указанный компонент из этой компоновки border. Этот метод вызывается, когда контейнер вызывает его 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.
Параметры:
target - Container, используемый для получения местоположения ограничения на основе ориентации компонентов целевого Container.
constraints - желаемое абсолютное положение, одно из CENTER, NORTH, SOUTH, EAST, WEST
Возвращает:
компонента в заданном месте, или null, если место пустое
Исключения:
IllegalArgumentException - если объект ограничения не является одним из пяти указанных констант
NullPointerException - если параметр target равен 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
Параметры:
parent - целевой контейнер
Возвращает:
предпочтение выравнивания по оси x

getLayoutAlignmentY

public float getLayoutAlignmentY(Container parent)
Возвращает выравнивание по оси y. Это указывает, как компонент хочет быть выровнен относительно других компонентов. Значение должно быть числом от 0 до 1, где 0 представляет выравнивание по началу, 1 выровнен максимально далеко от начала, 0.5 - по центру и т.д.
Определено в:
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 - контейнер, в котором нужно выполнить расположение.
См. также:
  • Container
  • Container.doLayout()

toString

public String toString()
Возвращает строковое представление состояния этого расположения по границам.
Переопределяет:
toString в классе Object
Возвращает:
строковое представление этого расположения по границам.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API