| Назад |
| Код Морзе |
|
Представленный апплет может диктовать набранный текст азбукой Морзе. Для этого достаточно
набрать текст в соответствующем поле и нажать кнопку "Старт". Текст будет диктоваться посредством
звуковых сигналаов, а также светового индикатора. Для каждой буквы на экране будет отображен
ее код в соответствии с азбукой Морзе. Апплет состоит из трех классов shpora, vibro и code. Класс shpora - это главный класс апплета. Он является потомком класса Applet. Он создает элементы управления на форме апплета и обрабатывает события от этих элементов. На форме апплета расположены: поле для ввода текста textArea1, кнопка "Старт" button1, кнопка "Стоп" button2, поле для вывода кода Морзе textField1. Создание этих элементов производится в методе init(). Обработчик нажатия от клавиши button1 читает содержимое поля textArea1 и запускает поток vibro, который будет диктовать текст. Обработчик нажатия от клавиши button1 останавливает поток vibro. UML диаграмма класса shpora: Класс vibro представляет собой поток, который диктует текст.Его метод run посимвольно декодирует текст и "произносит" каждый символ. Для воспроизведения кода символа звуком используются wav файлы dash.wav(тире) и dot.wav(точка). Для воспроизведения этих файлов создано два экземпляра класса AudioClip. В зависимости от текущего знака кода метод run вызывает методы dash.start или dot.start(). Отображение символа кода световым индикатором производится путем прорисовки на форме апплета красного или черного квадрата. UML диаграмма класса vibro: Класс code содержит массив соответствия текстовых символов и кодов Морзе decode, а также метод getCode кототорый позволяет по заданному символу получить соответствующий ему код Морзе. UML диаграмма класса code: |