Spec-Zone.ru › OpenJDK 25

Класс 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

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

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 единиц по горизонтали и вертикали. Аргумент alignment должен иметь одно из следующих значений: FlowLayout.LEFT, FlowLayout.RIGHT, FlowLayout.CENTER, FlowLayout.LEADING или FlowLayout.TRAILING.
Параметры:
align — значение выравнивания

FlowLayout

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

Аргумент alignment должен иметь одно из следующих значений: 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, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.desktop/java/awt/FlowLayout.html

Spec-Zone.ru

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