Иллюстрированный самоучитель по Java

Менеджер FlowLayout

Наиболее просто поступает менеджер размещения FlowLayout. Он укладывает в контейнер один компонент за другим слева направо как кирпичи, переходя от верхних рядов к нижним. При изменении размера контейнера "кирпичи" перестраиваются, как показано на рис. 11.1. Компоненты поступают в том порядке, в каком они заданы в методах add ().

В каждом ряду компоненты могут прижиматься к левому краю, если в конструкторе аргумент align равен FlowLayout. LEFT, к правому краю, если этот аргумент FlowLayout. RIGHT, или собираться в середине ряда, если FlowLayout.CENTER.

Между компонентами можно оставить промежутки (gap) по горизонтали hgap и вертикали vgap. Это задается в конструкторе:

FlowLayout(int align, int hgap, int vgap)

Второй конструктор задает промежутки размером 5 пикселов:

FlowLayout(int align)

Третий конструктор определяет выравнивание по центру и промежутки 5 пикселов:

FlowLayout()

После формирования объекта эти параметры можно изменить методами:

setHgap(int hgap)
setVgap(int vgap)
setAlignment(int align)

В листинге 11.1 создаются кнопка Button, метка Label, кнопка выбора checkbox, раскрывающийся список choice, поле ввода TextField и все это размещается в контейнере Frame. Рис. 11.1 содержит вид этих компонентов при разных размерах контейнера.

Листинг 11.1. Менеджер размещения FlowLayout.

import j ava.awt.*;
import j ava.awt.event.*;
class FlowTest extends Frame{
FlowTest(String s) {
super(s);
setLayout (new FlowLayout (FlowLayout.LEFT, 10, 10));
add(new Button("Кнопка"));
add(new Label("Метка"));
add(new Checkbox("Выбор"));
add(new Choice());
add(new TextFieldt"Справка", 10));
setSize(300, 100); setVisible(true);
}
public static void main(String[] args){
Frame f= new FlowTest(" Менеджер FlowLayout");
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent ev){
System.exit(0);
}
});
}
}

Иллюстрированный самоучитель по Java › Размещение компонентов › Менеджер FlowLayout

Иллюстрированный самоучитель по Java › Размещение компонентов › Менеджер FlowLayout
Рис. 11.1. Размещение компонентов с помощью FlowLayout

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.