Spec-Zone.ru › OpenJDK 27

Класс FlowLayout

java.lang.Object
java.awt.FlowLayout
Все реализованные интерфейсы:
LayoutManager, Serializable
public class FlowLayout extends Object implements LayoutManager, Serializable
Компоновка FlowLayout располагает компоненты в направленном потоке, подобно строкам текста в абзаце. Направление потока определяется свойством componentOrientation контейнера и может принимать одно из двух значений:
  • ComponentOrientation.LEFT_TO_RIGHT
  • ComponentOrientation.RIGHT_TO_LEFT
Компоновку FlowLayout обычно используют для размещения кнопок на панели. Она располагает кнопки по горизонтали, пока на одной строке помещаются новые кнопки. Выравнивание строки определяется свойством align. Возможны следующие значения:
  • LEFT
  • RIGHT
  • CENTER
  • LEADING
  • TRAILING

Например, на следующем рисунке показано окно, в котором для размещения трех кнопок используется менеджер компоновки FlowLayout (менеджер компоновки по умолчанию):

Graphic of Layout for Three Buttons

Код этой программы:

import java.awt.Button;
import java.awt.EventQueue;
import java.awt.FlowLayout;
import java.awt.Frame;

public class FlowLayoutExample {

    public static void main(String[] args) throws Exception {
        EventQueue.invokeAndWait(() -> {
            Frame frame = new Frame("FlowLayout");
            frame.setLayout(new FlowLayout());
            frame.add(new Button("OK"));
            frame.add(new Button("Open"));
            frame.add(new Button("Close"));
            frame.pack();
            frame.setVisible(true);
        });
    }
}

Компоновка FlowLayout позволяет каждому компоненту сохранять его естественный (предпочтительный) размер.

Начиная с версии:
1.0
См. также:
  • ComponentOrientation
  • Сериализованная форма

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

Модификатор и тип Поле Описание
static final int CENTER
Это значение указывает, что каждая строка компонентов должна быть выровнена по центру.
static final int LEADING
Это значение указывает, что каждая строка компонентов должна быть выровнена по ведущему краю с учетом ориентации контейнера, например, по левому краю при ориентации слева направо.
static final int LEFT
Это значение указывает, что каждая строка компонентов должна быть выровнена по левому краю.
static final int RIGHT
Это значение указывает, что каждая строка компонентов должна быть выровнена по правому краю.
static final int TRAILING
Это значение указывает, что каждая строка компонентов должна быть выровнена по замыкающему краю с учетом ориентации контейнера, например, по правому краю при ориентации слева направо.

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

Конструктор Описание
FlowLayout()
Создает новый FlowLayout с выравниванием по центру и горизонтальным и вертикальным интервалами по умолчанию, равными 5 единицам.
FlowLayout(int align)
Создает новый FlowLayout с указанным выравниванием и горизонтальным и вертикальным интервалами по умолчанию, равными 5 единицам.
FlowLayout(int align, int hgap, int vgap)
Создает новый менеджер компоновки FlowLayout с указанным выравниванием и указанными горизонтальным и вертикальным интервалами.

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

Модификатор и тип Метод Описание
void addLayoutComponent(String name, Component comp)
Добавляет указанный компонент в компоновку.
int getAlignment()
Возвращает выравнивание этой компоновки.
boolean getAlignOnBaseline()
Возвращает true, если компоненты должны выравниваться по вертикали относительно базовой линии.
int getHgap()
Возвращает горизонтальный интервал между компонентами, а также между компонентами и границами Container
int getVgap()
Возвращает вертикальный интервал между компонентами, а также между компонентами и границами Container.
void layoutContainer(Container target)
Выполняет компоновку контейнера.
Dimension minimumLayoutSize(Container target)
Возвращает минимальные размеры, необходимые для компоновки видимых компонентов, содержащихся в указанном целевом контейнере.
Dimension preferredLayoutSize(Container target)
Возвращает предпочтительные размеры для этой компоновки с учетом видимых компонентов в указанном целевом контейнере.
void removeLayoutComponent(Component comp)
Удаляет указанный компонент из компоновки.
void setAlignment(int align)
Задает выравнивание для этой компоновки.
void setAlignOnBaseline(boolean alignOnBaseline)
Задает, должны ли компоненты выравниваться по вертикали относительно базовой линии.
void setHgap(int hgap)
Задает горизонтальный интервал между компонентами, а также между компонентами и границами Container.
void setVgap(int vgap)
Задает вертикальный интервал между компонентами, а также между компонентами и границами Container.
String toString()
Возвращает строковое представление этого объекта FlowLayout и его значений.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли другой объект этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удален в будущей версии.
Метод Finalization устарел и может быть удален в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого объекта Object.
int hashCode()
Возвращает значение хеш-кода для этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени.

Подробное описание полей

LEFT

public static final int LEFT
Это значение указывает, что каждая строка компонентов должна быть выровнена по левому краю.
См. также:
  • Значения константных полей

CENTER

public static final int CENTER
Это значение указывает, что каждая строка компонентов должна быть выровнена по центру.
См. также:
  • Значения константных полей

RIGHT

public static final int RIGHT
Это значение указывает, что каждая строка компонентов должна быть выровнена по правому краю.
См. также:
  • Значения константных полей

LEADING

public static final int LEADING
Это значение указывает, что каждая строка компонентов должна быть выровнена по ведущему краю с учетом ориентации контейнера, например, по левому краю при ориентации слева направо.
Начиная с версии:
1.2
См. также:
  • Component.getComponentOrientation()
  • ComponentOrientation
  • Значения константных полей

TRAILING

public static final int TRAILING
Это значение указывает, что каждая строка компонентов должна быть выровнена по замыкающему краю с учетом ориентации контейнера, например, по правому краю при ориентации слева направо.
Начиная с версии:
1.2
См. также:
  • Component.getComponentOrientation()
  • ComponentOrientation
  • Значения константных полей

Подробное описание конструкторов

FlowLayout

public FlowLayout()
Создает новый FlowLayout с выравниванием по центру и горизонтальным и вертикальным интервалами по умолчанию, равными 5 единицам.

FlowLayout

public FlowLayout(int align)
Создает новый FlowLayout с указанным выравниванием и горизонтальным и вертикальным интервалами по умолчанию, равными 5 единицам. Аргумент выравнивания должен иметь одно из значений FlowLayout.LEFT, FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.LEADING или FlowLayout.TRAILING.
Параметры:
align — значение выравнивания

FlowLayout

public FlowLayout(int align, int hgap, int vgap)
Создает новый менеджер компоновки FlowLayout с указанным выравниванием и указанными горизонтальным и вертикальным интервалами.

Аргумент выравнивания должен иметь одно из значений FlowLayout.LEFT, FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.LEADING или FlowLayout.TRAILING.

Параметры:
align — значение выравнивания
hgap — горизонтальный интервал между компонентами, а также между компонентами и границами Container
vgap — вертикальный интервал между компонентами, а также между компонентами и границами Container

Подробное описание методов

getAlignment

public int getAlignment()
Возвращает выравнивание этой компоновки. Возможны значения FlowLayout.LEFT, FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.LEADING или FlowLayout.TRAILING.
Возвращает:
значение выравнивания этой компоновки
Начиная с версии:
1.1
См. также:
  • setAlignment(int)

setAlignment

public void setAlignment(int align)
Задает выравнивание для этой компоновки. Возможны следующие значения:
  • FlowLayout.LEFT
  • FlowLayout.RIGHT
  • FlowLayout.CENTER
  • FlowLayout.LEADING
  • FlowLayout.TRAILING
Параметры:
align — одно из указанных выше значений выравнивания
Начиная с версии:
1.1
См. также:
  • getAlignment()

getHgap

public int getHgap()
Возвращает горизонтальный интервал между компонентами, а также между компонентами и границами Container
Возвращает:
горизонтальный интервал между компонентами, а также между компонентами и границами Container
Начиная с версии:
1.1
См. также:
  • setHgap(int)

setHgap

public void setHgap(int hgap)
Задает горизонтальный интервал между компонентами, а также между компонентами и границами Container.
Параметры:
hgap — горизонтальный интервал между компонентами, а также между компонентами и границами Container
Начиная с версии:
1.1
См. также:
  • getHgap()

getVgap

public int getVgap()
Возвращает вертикальный интервал между компонентами, а также между компонентами и границами Container.
Возвращает:
вертикальный интервал между компонентами, а также между компонентами и границами Container
Начиная с версии:
1.1
См. также:
  • setVgap(int)

setVgap

public void setVgap(int vgap)
Задает вертикальный интервал между компонентами, а также между компонентами и границами Container.
Параметры:
vgap — вертикальный интервал между компонентами, а также между компонентами и границами Container
Начиная с версии:
1.1
См. также:
  • getVgap()

setAlignOnBaseline

public void setAlignOnBaseline(boolean alignOnBaseline)
Задает, должны ли компоненты выравниваться по вертикали относительно базовой линии. Компоненты, у которых нет базовой линии, выравниваются по центру. Значение по умолчанию — false.
Параметры:
alignOnBaseline — должны ли компоненты выравниваться по вертикали относительно базовой линии
Начиная с версии:
1.6

getAlignOnBaseline

public boolean getAlignOnBaseline()
Возвращает true, если компоненты должны выравниваться по вертикали относительно базовой линии. Значение по умолчанию — false.
Возвращает:
true, если компоненты должны выравниваться по вертикали относительно базовой линии
Начиная с версии:
1.6

addLayoutComponent

public void addLayoutComponent(String name, Component comp)
Добавляет указанный компонент в компоновку. Этот класс не использует данный метод.
Определено в:
addLayoutComponent в интерфейсе LayoutManager
Параметры:
name — имя компонента
comp — добавляемый компонент

removeLayoutComponent

public void removeLayoutComponent(Component comp)
Удаляет указанный компонент из компоновки. Этот класс не использует данный метод.
Определено в:
removeLayoutComponent в интерфейсе LayoutManager
Параметры:
comp — удаляемый компонент
См. также:
  • Container.removeAll()

preferredLayoutSize

public Dimension preferredLayoutSize(Container target)
Возвращает предпочтительные размеры для этой компоновки с учетом видимых компонентов в указанном целевом контейнере.
Определено в:
preferredLayoutSize в интерфейсе LayoutManager
Параметры:
target — контейнер, для которого необходимо выполнить компоновку
Возвращает:
предпочтительные размеры для компоновки вложенных компонентов указанного контейнера
См. также:
  • Container
  • minimumLayoutSize(Container)
  • Container.getPreferredSize()

minimumLayoutSize

public Dimension minimumLayoutSize(Container target)
Возвращает минимальные размеры, необходимые для компоновки видимых компонентов, содержащихся в указанном целевом контейнере.
Определено в:
minimumLayoutSize в интерфейсе LayoutManager
Параметры:
target — контейнер, для которого необходимо выполнить компоновку
Возвращает:
минимальные размеры для компоновки вложенных компонентов указанного контейнера
См. также:
  • preferredLayoutSize(Container)
  • Container
  • Container.doLayout()

layoutContainer

public void layoutContainer(Container target)
Выполняет компоновку контейнера. Этот метод позволяет каждому видимому компоненту занимать предпочтительный размер, изменяя форму компонентов в целевом контейнере для соблюдения выравнивания этого объекта FlowLayout.
Определено в:
layoutContainer в интерфейсе LayoutManager
Параметры:
target — указанный компонент, для которого выполняется компоновка
См. также:
  • Container
  • Container.doLayout()

toString

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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