6.4 Размещение контейнеров (часть 2)

6.4.3 Менеджер BorderLayout

BorderLayout' - заданный по умолчанию менеджер компоновки для объектов типа 'Window', Frame' и 'Dialog'. Компонентам могут быть назначены следующие позиции контейнера - NORTH, EAST, SOUTH, WEST или позиция CENTER.

Класс BorderLayout определяет несколько постоянных значений.
      ■ NORTH - соответствует вершине контейнера
      ■ EAST - соответствует направо от контейнера
      ■ SOUTH - соответствует основанию контейнера
      ■ WEST - соответствует налево от контейнера
      ■ CENTER - соответствует центру контейнера.

Например, в проекте, чтобы добавить Панель к Фрейму мы будем использовать следующий код:
Panel pl= new Panel(); // declare component
.    .    .
.    .    .
      setLayout(new BorderLayout()); // set the layout
      add(p1,BorderLayout.NORTH); // add component to the layout

      или
      add( North ,pl) ;

Даже если контейнер изменен, компоненты всё равно содержат их соответствующие позиции. Компоненты, помещенные в направлениях 'North' и 'South' располагаются горизонтально. Компоненты, помещенные в направлениях на 'East' и 'West' располагаются вертикально. Компоненты, помещенные по направлению 'Center' расширяются, чтобы заполнить область, которая остается после размещения компонентов в их соответствующих позициях.
add(b2,BorderLayout.CENTER); // add component to the Center

Пример 8 демонстрирует использование BorderLayout.

Пример 8:
import j ava.awt.*;
public class BorderApp extends Frame {
public BorderApp(String s) {
super(s);
setLayout(new BorderLayout 0);
Button btnEast=new Button( EAST );
Button btnWest=new Button( WEST );
Button btnNorth=new Button( NORTH );
Button btnSouth=new Button( SOUTH );
Button btnCenter=new Button( CENTER ) ;
add( East , btnEast);
add( West , btnWest);
add( North , btnNorth);
add( South , btnSouth);
add( Center , btnCenter);
      }

public static void main(String args[]) {
BorderApp ba = new BorderApp ( Border Layout Demo! );
ba.setSize(400,400);
ba.show();
      }
}

Здесь мы создаем 5 компонентов, каждый из которых - кнопка и добавляем их на апплет. Тогда мы добавляем их соответственно по направлениям East, West, North South и Center.
Вывод показан на рисунке 6.9.

Рисунок 6.9: Вывод примера 8


Обратите внимание: Для удаления любых параметров настройки размещения, установите размещение на пустой указатель. Синтаксис: 'setLayout(null)'

Размещение границы может косвенно содержать больше чем пять компонентов. Для достижения этой цели, мы можем использовать панели различных размещений, чтобы содержать компоненты и затем размещать эти панели в пределах границы.

6.4.4 Менеджер GridLayout

'GridLayout' размещение помогает нам разделить контейнерную область на прямоугольную сетку. Компоненты размещены в строках и столбцах. Это размещение используется, когда все компоненты имеют один и тот же размер.

Один из конструкторов GridLayout следующий:
GridLayout gl=new GridLayout(4,3) ;
где 4 показывает число строк, а 3 показывает число столбцов.

Следующий отрывок кода демонстрирует размещение grid layout (сетки)
.      .      .
Button btn[]; // declare button array
String str[]={ 1,2,3,4,5,6,7,8,9};
setLayout(new GridLayout(3,3));
btn=new Button[str.length]; // creates button array
for(int i=0;i            {
btn[i]=new Button (str [i]) ;
add(btn[i] ) ;
          }
.    .    .

Вывод представлен на рисунке 6.10

Рисунок 6.10: Типовое размещение сетки

назад к оглавлению вперед

Rus. Open Source company, г. Саратов
ул. Орджоникидзе, 156, офис 203
тел: 8 (8452) 57-84-41
e-mail: info@rus_opensource.com

Главная | Обзоры | О разном
Карта сайта

Учебная литература:

Введение в Linux
Основы JAVA
Архивы

© 2013 opensourcerules.net