Менеджер BorderLayout
Менеджер размещения BorderLayout делит контейнер на пять неравных областей, полностью заполняя каждую область одним компонентом, как показано на рис. 11.2. Области получили географические названия NORTH, SOUTH, WEST, EAST И CENTER.
Метод add () в случае применения BorderLayout имеет два аргумента: ссылку на компонент сотр и область region, в которую помещается компонент – одну из перечисленных выше констант:
add(Component comp, String region)
Обычный метод add (Component comp) с одним аргументом помещает компонент В область CENTER.
В классе два конструктора:
- BorderLayout () – между областями нет промежутков;
- BorderLayout(int hgap int vgap) – между областями остаются горизонтальные hgap и вертикальные vgap промежутки, задаваемые в пикселах.
Если в контейнер помещается менее пяти компонентов, то некоторые области не используются и не занимают места в контейнере, как можно заметить на рис. 11.3. Если не занята область CENTER, то компоненты прижимаются к границам контейнера.
В листинге 11.2 создаются пять кнопок, размещаемых в контейнере. Заметьте отсутствие установки менеджера в контейнере setLayout () – менеджер BorderLayout установлен в контейнере Frame по умолчанию. Результат размещения показан на рис. 11.2.
Листинг 11.2. Менеджер размещения BorderLayout.
import java.awt.*; import java.awt.event.*; class BorderTest extends Frame{ BorderTest(String s){ super(s); add(new Button("North"), BorderLayout.NORTH); add(new Button("South"), BorderLayout.SOUTH); add(new Button("West"), BorderLayout.WEST); add(new Button("East"), BorderLayout.EAST); add(new Button("Center")); setSize(300, 200); setVisible(true); } public static void main(String[] args){ Frame f= new BorderTest(" Менеджер BorderLayout"); f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent ev){ System.exit(0); } }); } }
Рис. 11.2. Области размещения BorderLayout