Иллюстрированный самоучитель по Java

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

Иллюстрированный самоучитель по Java › Размещение компонентов › Менеджер BorderLayout
Рис. 11.2. Области размещения BorderLayout

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.