Диалоговые панели создаются на базе класса Dialog, краткое описание которого приведено ниже.
Конструкторы
Создание диалоговой панели без заголовка
public Dialog(Frame parent, boolean modal);
Создание диалоговой панели с заголовком
public Dialog(Frame parent,
String title, boolean modal);
Методы
- addNotify
Вызов метода createDialog
public void addNotify();
- getTitle
Получение строки заголовка диалоговой панели
public String getTitle();
- isModal
Определение, является ли диалоговая панель модальной
public boolean isModal();
- isResizable
Определение возможности изменения размеров окна диалоговой панели
public boolean isResizable();
- paramString
Получение строки параметров
protected String paramString();
setResizable
Включение или выключение возможности изменения размеров окна диалоговой панели
public void setResizable(boolean resizable);
- setTitle
Установка заголовка диалоговой панели
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, если, конечно, это соответствует логике работы вашей панели.