Режим CardLayout

Оглавление Layout Manager Режимы FlowLayout GridLayout BorderLayout CardLayout GridBagLayout Аплет FormLayout

Назад Вперед

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

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

Конструкторы класса CardLayout

Режим без зазоров

    public CardLayout();

Режим с зазорами по вертикали и горизонтали между компонентами и окном контейнера

    public CardLayout(int hgap, int vgap);

Методы класса CardLayout

- addLayoutComponent

Добавление компоненты с указанием имени

    public void addLayoutComponent(
      String name, Component comp);

- first

Отображение первой страницы блокнота

    public void first(Container target);

- last

Отображение последней страницы блокнота

    public void last(Container target);

- next

Отображение следующей страницы блокнота

    public void next(Container target);

- previous

Отображение предыдущей страницы блокнота

    public void previous(Container target);

- layoutContainer

Выполнение размещения компонент

    public void layoutContainer(
      Container target);

- minimumLayoutSize

Определение минимальных размеров окна, необходимых для размещения компонент

    public Dimension minimumLayoutSize(
      Container target);

- preferredLayoutSize

Определение предпочтительных размеров окна, необходимых для размещения компонент

    public Dimension preferredLayoutSize(
      Container target);

- removeLayoutComponent

Удаление заданной компоненты

    public void removeLayoutComponent(
      Component comp);

- show

Отображение произвольной страницы блокнота по ее имени

    public void show(
      Container target, String name);

- toString

Получение текстовой строки названия режима размещения

    public String toString();

Использование режима размещения CardLayout

Как пользоваться режимом размещения 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".

Назад Вперед