Java -практика использования

        

Поля класса GridBagConstraints



Таблица 11.1. Поля класса GridBagConstraints

Поле



Значение

anchor

Направление размещения компонента в контейнере. Константы:

CENTER, NORTH, EAST, NORTHEAST, SOUTHEAST, SOUTH, SOUTHWEST,

WEST, и NORTHWEST; no умолчанию CENTER

fill

Растяжение компонента для заполнения ячейки. Константы: NONE, HORIZONTAL, VERTICAL, BOTH; ПО умолчанию NONE

gridheight

Количество ячеек в колонке, занимаемых компонентом. Целое типа int, по умолчанию 1. Константа REMAINDER означает, что компонент займет остаток колонки, RELATIVE — будет следующим по порядку в колонке

gridwidth

Количество ячеек в строке, занимаемых компонентом. Целое типа int, по умолчанию 1. Константа REMAINDER означает, что компонент займет остаток строки, RELATIVE — будет следующим в строке по порядку

gridx

Номер ячейки в строке. Самая левая ячейка имеет номер 0. По умолчанию константа RELATIVE, что означает: следующая по порядку

gridy

Номер ячейки в столбце. Самая верхняя ячейка имеет номер 0. По умолчанию константа RELATIVE, что означает: следующая по порядку

insets

Поля в контейнере. Объект класса insets; по умолчанию объект с нулями

ipadx, ipady

Горизонтальные и вертикальные поля вокруг компонентов; по умолчанию 0

weightx,

weighty

Пропорциональное растяжение компонентов при изменении размера контейнера; по умолчанию 0,0

Как правило, объект класса GridBagConstraints создается конструктором по умолчанию, затем значения нужных полей меняются простым присваиванием новых значений, например:

GridBagConstraints gbc = new GridBagConstraints(); 

gbc.weightx = 1.0;

gbc.gridwidth = GridBagConstraints.REMAINDER; 

gbc.gridheight =2;

После создания объекта gbc класса GridBagConstraints менеджеру размещения указывается, что при помещении компонента сотр в контейнер следует применять правила, занесенные в объект gbc. Для этого применяется метод

add(Component comp, GridBagConstraints gbc)

Итак, схема применения менеджера GridBagLayout такова :

GridBagLayout gbl = new GridBagLayout();     // Создаем менеджер 

setLayout(gbl);                              // Устанавливаем его в контейнер 

                                               // Задаем правила размещения по умолчанию 

GridBagConstraints с = new GridBagConstraints(); 

Button b2 = new Button();                    // Создаем компонент 

c.gridwidth =2;                              // Меняем правила размещения 

add(bl, с);                                  // Помещаем компонент b2 в контейнер

                                             // по указанным правилам размещения с

Button Ь2 = new Button();                    // Создаем следующий компонент 

c.gridwidth = 1;                             // Меняем правила для его размещения 

add(b2, с);                                  // Помещаем в контейнер

и т.д.

В документации к классу GridBagLayout приведен хороший пример использования этого менеджера размещения.



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