Иллюстрированный самоучитель по 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()

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

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

В листинге 11.1 создаются кнопка Button, метка Label, кнопка выбора checkbox, раскрывающийся список choice, поле ввода TextFieid и все это размещается в контейнере 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); 

}

}); 

}

Рис. 11.1.

Размещение компонентов с помощью FlowLayout



Содержание раздела