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

Режим 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".


Содержание раздела