Менеджер 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