| |
h (evt.id)
{
case Event.WINDOW_DESTROY:
{
dispose();
System.exit(0);
return true;
}
default:
return super.handleEvent(evt);
}
}
}
Класс CombiFrame создан на базе класса Frame и предназначен для создания
окна фрейма, в которое будет добавлен аплет. В этом классе определен
конструктор и метод handleEvent.
Конструктор выполняет простую задачу - создание окна фрейма. Для этого он
вызывает конструктор базового класса Frame, передавая ему через параметр строку
заголовка окна.
Задача метода handleEvent - удаление окна фрейма, когда пользователь
пытается его закрыть, сделав, например, щелчок мышью по правой кнопке в
заголовке окна. В случае такой попытки методу handleEvent передается извещение
с кодом Event.WINDOW_DESTROY.
В процессе обработки этого извещения метод handleEvent удаляет окно фрейма,
вызывая метод dispose, а затем завершает работу приложения, вызывая статический
метод exit из класса System.
Все прочие извещения передаются методу handleEvent, определенному в базовом
классе.
Приложение Combi
Приложение Combi имеет описанную выше структуру и потому способно работать
как автономно, так и под управлением навигатора Internet.
После запуска приложение определяет и отображает в своем окне текущий режим
работы, а также некоторую информацию о среде выполнения.
На рис. 7.1 показан внешний вид окна этого приложения, когда оно работает
автономно.
Рис. 7.1. Окно автономно работающего приложения Combi
Приложение определяет платформу, на которой оно работает, название и версию
операционной системы, каталог, в котором находится двоичный модуль приложения,
и каталог, в котором расположены классы Java. Кроме того, сразу после запуска
автономное приложение Combi, если оно выполняется в среде операционной системы
Windows 95 или Windows NT, запускает программу калькулятора calc.exe, входящую
в комплект этой операционной системы.
Когда приложение Combi работает как аплет, встроенный в документ HTML, его
окно имеет вид, показанный на рис. 7.2.
Рис. 7.2. Окно приложения Combi, встроенного в документ HTML
Из-за ограничений, которые накладываются на аплеты, в данном случае нашему
приложению доступна не вся информация о среде выполнения.
Кроме того, будучи загруженным с сервера Web, приложение не сможет запустить
программу калькулятора, так как эта возможность для аплетов заблокирована.
Однако при работе аплета в среде Microsoft Visual J++ запуск приложений (а
также другие действия) разрешается, поэтому на экране появится окно
клаькулятора.
Исходные тексты приложения
Исходные текст основного класса приложения Combi представлен в листинге 7.1.
Листинг 7.1. Файл Combi\Combi.java
// =========================================================
// Приложение, способное работать как аплет, включенный
// в документ HTML, а также как автономное приложение Java
//
// (C) Фролов А.В, 1997
//
// E-mail: [email protected]
// WWW: http://www.glasnet.ru/~frolov
// или
// http://www.dials.ccas.ru/frolov
// =========================================================
import java.applet.*;
import java.awt.*;
// Импортируем класс CombiFrame
import CombiFrame;
// =========================================================
// Combi
// Основной класс приложения
// =========================================================
public class Combi extends Applet
{
// Режим работы приложения. Если это поле содержит
// значение true, приложение работает автономно, если
// false - в составе документа HTML под управлением
// навигатора
boolean m_fStandAlone = false;
// -------------------------------------------------------
// main
// Метод main получает управление, когда приложение
// работает автономно
// -------------------------------------------------------
public static
|
|