Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Контейнер Framе




Контейнер Window

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

  • window (Frame f) – создает окно, владелец которого – фрейм f;
  • window (window owner) – создает окно, владелец которого– уже имеющееся окно или подкласс класса window.

Созданное конструктором окно не выводится на экран автоматически. Его следует отобразить методом show (). Убрать окно с экрана можно методом hide (), а проверить, видно ли окно на экране – логическим методом isShowing().

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

Видимое на экране окно выводится на передний план методом toFront() или, наоборот, помещается на задний план методом toBack().

Уничтожить окно, освободив занимаемые им ресурсы, можно методом dispose().

Менеджер размещения компонентов в окне по умолчанию – BorderLayout. Окно создает свой экземпляр класса Toolkit, который возможно получить методом getToolkit().

Кроме событий класса Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent, при изменении размеров окна, его перемещении или удалении с экрана, а также показа на экране происходит событие windowEvent.

Контейнер Frame – это полноценное готовое окно со строкой заголовка, в которую помещены кнопки контекстного меню, сворачивания окна в ярлык и разворачивания во весь экран и кнопка закрытия приложения. Заголовок окна записывается в конструкторе или методом setTitie(string title). Окно окружено рамкой. В него можно установить строку меню методом setMenuBar (MenuBar mb).

На кнопке контекстного меню в левой части строки заголовка изображена дымящаяся чашечка кофе – логотип Java. Можно установить там другое изображение методом setIconImage(image icon), создав предварительно изображение icon в виде объекта класса image.

Все элементы окна Frame вычерчиваются графической оболочкой операционной системы по правилам этой оболочки. Окно Frame автоматически регистрируется в оконном менеджере графической оболочки и может перемещаться, менять размеры, сворачиваться в панель задач (task bar) с помощью мыши или клавиатуры, как "родное" окно операционной системы.

Создать окно типа Frame можно следующими конструкторами:

  • Frame () – создает окно с пустой строкой заголовка;
  • Frame (string title) – записывает аргумент title в строку заголовка.

Методы класса Frame осуществляют доступ к элементам окна, но не забывайте, что класс Frame наследует около двухсот методов классов Component, Container и window. В частности, наследуется менеджер размещения по умолчанию – BorderLayout.

Кроме событий класса Component: ComponentEvent, FocusEvent, KeyEvent, MouseEvent, при изменении размеров окна, его перемещении или удалении с экрана, а также показа на экране происходит событие windowEvent.

Листинг 10.5. Создание двух окон

import j ava.awt.*;

import java.awt.event.*;

class TwoFrames{

public static void main(String[] args){

Fr1 fl = new Fr1(" Основное окно");

Fr2 f2 = new Fr2(" Второе окно");

 

 

}

}

class Fr1 extends Frame{

Fr1(String s){

super (s);

setLayout(null);

Font f = new Font("Serif", Font. BOLD, 15);

setFont(f);

Label l = new Label("Это главное окно", Label. CENTER);

l.setBounds(10, 30, 180, 30);

add(l);

setSize(200, 100);

setVisible(true);

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent ev){

System. exit (0);

}

});

}

}

 

class Fr2 extends Frame{

Fr2(String s){

super (s);

setLayout(null);

Font f = new Font("Serif", Font. BOLD, 15);

setFont(f);

Label l = new Label("Это второе окно", Label. CENTER);

l.setBounds(10, 30, 180, 30);

add(l);

setBounds(50, 50, 200, 100);

setVisible(true);

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent ev) {

dispose ();

}

});

}

}

Рис. 10.5. Программа с двумя окнами




Поделиться с друзьями:


Дата добавления: 2015-07-02; Просмотров: 291; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.