Менеджер GridLayout
Менеджер размещения GridLayout расставляет компоненты в таблицу с заданным в конструкторе числом строк rows и столбцов columns:
GridLayout(int rows, int columns)
Все компоненты получают одинаковый размер. Промежутков между компонентами нет.
Второй конструктор позволяет задать промежутки между компонентами в пикселах по горизонтали hgap и вертикали vgap:
GridLayout(int rows, int columns, int hgap, int vgap)
Конструктор по умолчанию GridLayout () задает таблицу размером 0x0 без промежутков между компонентами. Компоненты будут располагаться в одной строке.
Компоненты размещаются менеджером GridLayout слева направо по строкам созданной таблицы в том порядке, в котором они заданы в методах add().
Нулевое количество строк или столбцов означает, что менеджер сам создаст нужное их число.
В листинге 11.4 выстраиваются кнопки для калькулятора, а рис. 11.4 показывает, как выглядит это размещение.
Листинг 11.4. Менеджер GridLayout.
import Java.awt.*; import java.awt.event.*; import java.util.*; class GridTest extends Frame{ GridTest(String s){ super(s); setLayout(new GridLayout(4, 4, 5, 5)); StringTokenizer st = new StringTokenizer("7 89/456*123-0.=+"); while(st.hasMoreTokens()) add(new Button(st.nextToken())); setSize(200, 200); setvisible(true); } public static void main(String[] args){ Frame f= new GridTestt" Менеджер GridLayout"); f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent ev){ System.exit(0); } }); } }
Рис. 11.4. Размещение кнопок менеджером GridLayout