Spec-Zone.ru › OpenJDK 17

Класс BorderLayout

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

BorderLayout

public BorderLayout(int hgap, int vgap)
Создает компоновку border с указанными отступами между компонентами. Горизонтальный отступ задается параметром 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)
Добавляет указанный компонент в компоновку, используя указанный объект ограничения. Для компоновок border, ограничение должно быть одной из следующих констант: 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).
Описание скопировано из интерфейса:
Если менеджер компоновки использует строку для каждого компонента, добавляет компонент comp в компоновку, связывая его со строкой, заданной name.
Указано в:
addLayoutComponent в интерфейсе LayoutManager
Параметры:
name - строка, которая будет связана с компонентом
comp - компонент, который нужно добавить

removeLayoutComponent

public void removeLayoutComponent(Component comp)
Удаляет указанный компонент из этой компоновки по границам. Этот метод вызывается, когда контейнер вызывает свои методы remove или removeAll. Большинство приложений не вызывают этот метод напрямую.
Specified by:
removeLayoutComponent в интерфейсе LayoutManager
Parameters:
comp - компонент, который нужно удалить.
See Also:
  • Container.remove(java.awt.Component)
  • Container.removeAll()

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:
  • 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.
Parameters:
constraints - желаемая абсолютная позиция, одна из CENTER, NORTH, SOUTH, EAST, WEST
target - Container используется для получения позиции ограничения на основе ориентации компонента целевого Container.
Returns:
компонент в заданном месте или null если место пустое
Throws:
IllegalArgumentException - если объект ограничения не является одной из пяти указанных констант
NullPointerException - если параметр target равен null
Since:
1.5
See Also:
  • addLayoutComponent(java.awt.Component, java.lang.Object)

getConstraints

public Object getConstraints(Component comp)
Получает ограничения для указанного компонента
Parameters:
comp - компонент для запроса
Returns:
ограничение для указанного компонента или null, если компонент равен null или отсутствует в этой компоновке
Since:
1.5
See Also:
  • addLayoutComponent(java.awt.Component, java.lang.Object)

minimumLayoutSize

public Dimension minimumLayoutSize(Container target)
Определяет минимальный размер контейнера target с помощью этого менеджера компоновки.

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

Specified by:
minimumLayoutSize в интерфейсе LayoutManager
Parameters:
target - контейнер, для которого необходимо выполнить компоновку.
Returns:
минимальные размеры, необходимые для компоновки подкомпонентов указанного контейнера.
See Also:
  • Container
  • preferredLayoutSize(java.awt.Container)
  • Container.getMinimumSize()

preferredLayoutSize

public Dimension preferredLayoutSize(Container target)
Определяет предпочтительный размер контейнера target с помощью этого менеджера компоновки, на основе компонентов в контейнере.

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

Specified by:
preferredLayoutSize в интерфейсе LayoutManager
Parameters:
target - контейнер, для которого необходимо выполнить компоновку.
Returns:
предпочтительные размеры для компоновки подкомпонентов указанного контейнера.
See Also:
  • Container
  • minimumLayoutSize(java.awt.Container)
  • Container.getPreferredSize()

maximumLayoutSize

public Dimension maximumLayoutSize(Container target)
Возвращает максимальные размеры для этой компоновки, учитывая компоненты в указанном целевом контейнере.
Specified by:
maximumLayoutSize в интерфейсе LayoutManager2
Parameters:
target - компонент, который нужно расположить
Returns:
максимальный размер контейнера
See Also:
  • Container
  • minimumLayoutSize(java.awt.Container)
  • preferredLayoutSize(java.awt.Container)

getLayoutAlignmentX

public float getLayoutAlignmentX(Container parent)
Возвращает выравнивание по оси x. Это определяет, как компонент хочет быть выровнен относительно других компонентов. Значение должно быть числом от 0 до 1, где 0 представляет выравнивание вдоль начала координат, 1 выровнено максимально далеко от начала координат, 0,5 центрировано и т. д.
Specified by:
getLayoutAlignmentX в интерфейсе LayoutManager2
Parameters:
parent - целевой контейнер
Returns:
предпочтение выравнивания по оси x

getLayoutAlignmentY

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

Этот метод фактически переформировывает компоненты в указанном контейнере, чтобы удовлетворить ограничениям этого объекта BorderLayout. Компоненты NORTH и SOUTH, если таковые имеются, размещаются вверху и внизу контейнера соответственно. Затем компоненты WEST и EAST размещаются слева и справа соответственно. Наконец, объект CENTER размещается в оставшемся пространстве посередине.

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

Specified by:
layoutContainer в интерфейсе LayoutManager
Parameters:
target - контейнер, для которого необходимо выполнить компоновку.
See Also:
  • Container
  • Container.doLayout()

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

Spec-Zone.ru

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