Этот менеджер является стандартным для Panel. Он не меняет размер компонент, а только располагает их один за другим в линию, как буквы в строке. Когда заканчивается первая "строка", он переходит на следующую, и так далее, пока либо не закончится область контейнера, либо не будут расположены все компоненты.
В качестве параметров конструктору можно передать значение выравнивания по горизонтали (определены константы LEFT, RIGHT, CENTER – значение по умолчанию), а также величину необходимых отступов между компонентами по вертикали (vgap) и горизонтали (hgap). Их значение по умолчанию – 5 пикселов.
Рассмотрим пример:
final Frame f = new Frame("Flaw"); f.setSize(400, 300); f.setLayout(new FlowLayout(FlowLayout.LEFT)); f.add(new Label("Test")); f.add(new Button("Long string")); f.add(new TextArea(2, 20)); f.add(new Button("short")); f.add(new TextArea(4, 20)); f.add(new Label("Long-long text")); f.setVisible(true);
Если теперь менять размер этого фрейма, то можно видеть, как перераспределяются компоненты: