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". |