logo
Хабибуллин

Контейнер Window

Контейнер Window — это пустое окно, без внутренних элементов: рамки, строки заголовка, строки меню, линеек прокрутки. Это просто прямоугольная область на экране. Окно типа Window самостоятельно, оно не содержится ни в каком контейнере, его не надо заносить в контейнер методом add(). Однако оно не связано с оконным менеджером графической системы. Следовательно, нельзя изменить его размеры, переместить в другое место экрана. Поэтому оно может быть создано только каким-нибудь уже существующим окном, владельцем (owner) или родителем (parent) окна Window. Когда окновладелец убирается с экрана, вместе с ним убирается и порожденное окно. Владелец окна указывается в конструкторе:

Window(Frame f) — создает окно, владелец которого — фрейм f;

Window(Window owner) — создает окно, владелец которого — уже имеющееся окно или

подкласс класса Window.

Созданное конструктором окно не выводится на экран автоматически. Его следует отобразить методом setVisible(true). Убрать окно с экрана можно методом setVisible(false), а проверить, видно ли окно на экране, — логическим методом

isShowing().

Методами

setIconImage(Image icon); setIconImages(List<? extends Image> icons);

можно задать один или несколько ярлыков для окна, а посмотреть их можно методом

List<Image> getIconImages();

Окно типа Window возможно использовать для создания всплывающих окон предупреждения, сообщения, подсказки. Для создания диалоговых окон есть подкласс Dialog, всплывающих меню — класс PopupMenu.

Видимое на экране окно выводится на передний план методом toFront() или, наоборот, помещается на задний план методом toBack(). Методом setAlwaysOnTop(true) можно дать указание графическому менеджеру всегда держать окно на переднем плане. Не все графические менеджеры могут выполнить это указание, поэтому такую возможность следует предварительно проверить логическим методом isAlwaysOnTopSupported(). Выполнение этого указания можно проверить логическим методом isAlwaysOnTop().

Уничтожить окно, освободив занимаемые им ресурсы, можно методом dispose(). Менеджер размещения компонентов в окне по умолчанию — BorderLayout.

Окно создает свой экземпляр класса Toolkit, который можно получить методом

getToolkit().