Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

Microsoft Visual J++. Создание приложений и аплетов на языке Java. Часть 1

© Александр Фролов, Григорий Фролов
Том 30, М.: Диалог-МИФИ, 1997, 288 стр.

[Назад] [Содеожание] [Дальше]

Режим CardLayout

Режим CardLayout предназначен для создания набора диалоговых панелей, которые можно показывать по очереди в одном окне прямоугольной формы. Обычно для управления процессом перебора диалоговых панелей в режиме CardLayout используются отдельные органы управления, расположенные в другой панели или даже в другом аплете на той же самой странице сервера WWW. Пример такого аплета мы приведем после того как рассмотрим использование класса Panel.

Класс CardLayout содержит два конструктора и несколько методов:


public class java.awt.CardLayout
  extends java.lang.Object
  implements java.awt.LayoutManager
{
  // -----------------------------------------------------
  // Конструкторы
  // -----------------------------------------------------

  // Режим без зазоров
  public CardLayout();

  // Режим с зазорами по вертикали и горизонтали
  // между компонентами и окном контейнера
  public CardLayout(int hgap, int vgap);

  // -----------------------------------------------------
  // Методы
  // -----------------------------------------------------

  // Добавление компоненты с указанием имени
  public void addLayoutComponent(String name, 
    Component comp);

  // Отображение первой страницы блокнота
  public void first(Container target);

  // Отображение последней страницы блокнота
  public void last(Container target);

  // Отображение следующей страницы блокнота
  public void next(Container target);

  // Отображение предыдущей страницы блокнота
  public void previous(Container target);

  // Выполнение размещения компонент
  public void layoutContainer(Container target);

  // Определение минимальных размеров окна,
  // необходимых для размещения компонент
  public Dimension minimumLayoutSize(Container target);

  // Определение предпочтительных размеров окна,
  // необходимых для размещения компонент
  public Dimension preferredLayoutSize(Container target);

  // Удаление заданной компоненты
  public void removeLayoutComponent(Component comp);

  // Отображение произвольной страницы блокнота
  // по ее имени
  public void show(Container target, String name);

  // Получение текстовой строки названия режима размещения
  public String toString();
}

Как пользоваться режимом размещения CardLayout?

Обычно в окне аплета создается две панели, одна из которых предназначена для отображения страниц блокнота в режиме размещения CardLayout, а вторая содержит органы управления перелистыванием страниц, например, кнопки.

Такие методы, как first, last, next и previous позволяют отображать, соответственно, первую, последнюю, следующую и предыдущую страницу блокнота. Если вызвать метод next при отображении последней страницы, в окне появится первая страница. Аналогично, при вызове метода previous для первой страницы блокнота вы увидите последнюю страницу.

А как отобразить произвольную страницу, не перебирая их по одной методами next и previous?

Для этого существует метод show. Учтите, что этот метод позволяет отображать только такие страницы, при добавлении которых методом add было указано имя, например:


pCardPanel.add("BackgroundColor", pBackgroundColor);
pCardPanel.add("ForegroundColor", pForegroundColor);
pCardPanel.add("Font", pFont);

Здесь в панель pCardPanel добавляются панели pBackgroundColor, pForegroundColor и pFont, имеющие имена, соответственно, "BackgroundColor", "ForegroundColor" и "Font".

[Назад] [Содеожание] [Дальше]