Создание диалоговых панелей
Диалоговые панели создаются на базе класса Dialog, краткое описание которого приведено ниже.
Конструкторы
Создание диалоговой панели без заголовка
public Dialog(Frame parent, boolean modal);
Создание диалоговой панели с заголовком
public Dialog(Frame parent,
String title, boolean modal);
Методы
Вызов метода createDialog
public void addNotify();
Получение строки заголовка диалоговой панели
public String getTitle();
Определение, является ли диалоговая панель модальной
public boolean isModal();
Определение возможности изменения размеров окна диалоговой панели
public boolean isResizable();
Получение строки параметров
protected String paramString();
setResizable
Включение или выключение возможности изменения размеров окна диалоговой панели
public void setResizable(boolean resizable);
Установка заголовка диалоговой панели
public void setTitle(String title);
Использование класса Dialog
Для того чтобы создать свою диалоговую панель, вы должны определить новый класс, унаследовав его от класса Dialog, как это показано ниже:
class MessageBox extends Dialog
{
. . .
public MessageBox(String sMsg,
Frame parent, String sTitle,
boolean modal)
{
super(parent, sTitle, modal);
. . .
resize(200, 100);
. . .
}
}
В этом классе нужно определить конструктор, который вызывает конструктор базового метода класса Dialog и определяет размеры окна диалоговой панели. Кроме того, в конструкторе вы должны создать все необходимые компоненты для размещения внутри диалоговой панели (кнопки, списки, текстовые поля, переключатели и так далее), а также выполнить размещение этих компонент, установив нужный режим размещения.
Для окон класса Dialog устанавливается режим размещения BorderLayout. Если нужен другой режим размещения, необходимо установить его явным образом методом setLayout.
Для отображения окна диалоговой панели необходимо вызвать метод show. Чтобы спрятать диалоговой окно, применяйте метод hide. Метод dispose удаляет окно диалоговой панели окончательно и освобождает все связанные с ним ресурсы.
Когда пользователь пытается уничтожить окно диалоговой панели при помощи органов управления, расположенных в заголовке такого окна, возникает событие Event.WINDOW_DESTROY. Вы должны обработать его, обеспечив удаление окна диалоговой панели вызовом метода dispose, если, конечно, это соответствует логике работы вашей панели.