Менеджер GridLayout

Менеджер размещения GridLayout расставляет компоненты в таблицу с заданным в конструкторе числом строк rows и столбцов columns:

GridLayout(int rows, int columns);

Все компоненты получают одинаковый размер. Промежутков между компонентами нет.

Второй конструктор позволяет задать промежутки между компонентами в пикселах по горизонтали hgap и вертикали vgap:

GridLayout(int rows, int columns, int hgap, int vgap);

Конструктор по умолчанию GridLayout () задает таблицу размером 0x0 без промежутков между компонентами. Компоненты будут располагаться в одной строке.

Компоненты размещаются менеджером GridLayout слева направо по строкам созданной таблицы в том порядке, в котором они заданы в методах add ().

Нулевое количество строк или столбцов означает, что менеджер сам создаст нужное их число.

В листинге 14.4 выстраиваются кнопки для калькулятора, а рис. 14.4 показывает, как выглядит это размещение.

Листинг 14.4. Менеджер GridLayout

import java.awt.*; import javax.swing.*; import java.util.*;

class GridTest extends JFrame{

GridTest(String s){ super(s);

setLayout(new GridLayout(4, 4, 5, 5));

StringTokenizer st = new StringTokenizer("7 8 9 / 4 5 6 * 1 2 3 — 0 . = +"); while(st.hasMoreTokens())

add(new JButton(st.nextToken())); setSize(200, 200); setVisible(true);

}

public static void main(String[] args){

JFrame f= new GridTest(" Менеджер GridLayout"); f.setDefaultCloseOperation(EXIT ON CLOSE);

}

}

Рис. 14.4. Размещение кнопок менеджером GridLayout