Электронное учебное пособие "Воздушная навигация и элементы самолетовождения"
Обобщенный алгоритм работы Java-апплета
Зарегистрированный
обучаемый посредством модема может обратиться
со своего рабочего места на сервер
дистанционного обучения. Для этого он должен
набрать полный путь в своем броузере к HTML-файлу.
Далее этот файл загружается в броузере клиента.
Броузер обнаруживает в теле этого файла тег <APPLET>,
в котором указывается основной класс апплета. В
данном случае это класс Standart.class. Этот класс
является наследником класса Applet. При обнаружении
тега прозрачно для обучаемого идет запрос на
сервер и классы загружаются на компьютер
обучаемого. В классе Standart первоначально
инициализируются основные переменные - основные
панели, кнопки, определяется шрифт. Далее
инициализируются все переменные классов. После
этого выполняется метод init() класса Standart. Этот
метод переопределен в классе Standart. Этот метод
выполняется только один раз, вне зависимости от
того, сколько раз обучаемый возвращается к
данной странице. Исходно он определен в классе
Applet и представляет собой первую фазу жизненного
цикла апплета. Далее устанавливается шрифт,
который будет далее использоваться в интерфейсе
апплета.
MyFont=new Font("Times New Roman Cyr", Font.Plain,14);
SetFont(MyFont);
После установки шрифта определяется цвет,
используемый в апплете в качестве фонового. В
методе init() класса Standart создаются экземпляры всех
основных объектов, описанных в классе до этого
метода выше - кнопок, панелей, контейнеров,
менеджеров расположения. Метод init() запускает
метод InitSpecific. Этот метод инициализирует
переменные, используемые как в классе Standart, так и
в классе Examp_Spec. В число этих переменных
включаются панели, используемые в обоих классах,
поле с текстом вопросов. В методе InitSpecific
вызываются методы Form для каждого из вопросов.
После этого в методе init() вызывается метод
seting_for_fild(), который делает поля вопросов
нередактируемыми, а поля ввода ответов
редактируемыми.
Затем вызывается метод start().
Этот метод вызывается каждый раз, когда
происходит обращение к странице, содержащей
апплет. С этого метода начинается
непосредственно выполнение апплета. На экране
появляется поле регистрации пользователя. Здесь
обучаемый вводит свой идентификатор и нажимает
«Enter». Его ответ отсылается на сервер,
определяется, что пользователь зарегистрирован
и обратно клиенту от сервер отправляется некое
случайное число, которое определенным образом
запускает датчик случайных числе в апплете.
Далее выводится промежуточное окно, в котором
указывается допущен ли обучаемый к сдаче
коллоквиума. Если допущен, то обучаемый нажимает
кнопку «Далее» для запуска вопросов. С этого
момента запускается поток Timer, который
определяет время выполнения задания. При нажатии
клавиши запускается метод MyNext, который управляет
последовательностью вызова методов. При
переходе к вопросам выполняются методы Question,
формирующие исходные данные к каждому вопросу.
Далее инициализируются данные в окне каждого
вопроса методом InitFields(). После этого вопросы
выводятся в окне броузера. Пользователь вводит
свои ответы. При вводе значений они
обрабатываются методами SpecificKeyDown(), Examp_SpecKeyDown(),
KeyUp() – для определения, какое событие произошло.
Для открытия кнопки проверка запускается метод
AllAnswers(), если все ответы введены, то клавиша
становится доступной. При нажатии клавиши
«Проверка» запускается метод MyTest(), управляющий
последовательностью вызова методов. Далее
запускается метод Testing(), а из него для каждого
вопроса запускается метод проверки Answer(). Этот
метод после проверки возвращает булевское
значение true – если ответ правильный, false – если
нет. Если обучаемый дал верный ответ на каждый
вопрос, то метод Testing() формирует булевское
значение true. Это значение и отправляется на
сервер дистанционного обучения.
Когда пользователь покидает HTML-файл
вызывается метод stop(). Во время действия этого
метода апплет работает в фоновом режиме. После
окончания работы броузера запускается метод
destroy().
Обобщенный алгоритм работы Java-апплета представлен на рис.1.
Рис.1. Обобщенный алгоритм работы Java-апплета
Чтобы перейти в начало страницы, нажмите СЮДА!