Конспект лекций по курсу Выбранные вопросы информатики (часть 2) для специальности Информатика Графика
Вид материала | Конспект |
- Конспект лекций по курсу Выбранные вопросы информатики (часть 1) для специальности, 2228.49kb.
- Конспект лекций по курсу "Начертательная геометрия и инженерная графика" Кемерово 2002, 786.75kb.
- Вопросы к зачету по курсу лекций "Информатика" для студентов Iкурса кафедры аэту iсеместр., 18.81kb.
- Конспект лекций по курсу "Информатика и использование компьютерных технологий в образовании", 1797.24kb.
- Программа «Компьютерная графика» кружковая работа по дисциплине «информатика» для специальности, 186.22kb.
- Конспект лекций по дисциплине информатика для студентов заочного отделения, 649.48kb.
- Конспект лекций по курсу «бизнес-планирование в условиях рынка», 461.46kb.
- Конспект лекций для специальности «Прикладная информатика в экономике», 1468.57kb.
- Конспект лекций по дисциплине «Высокоуровневые методы информатики и программирования», 2453.58kb.
- Конспект лекций по курсу «Организация производства», 2034.84kb.
Описание исходного текста
В главном классе аплета определено несколько полей и методов. Рассмотрим эти поля и наиболее важные методы.
Поля класса PlayClip
В поле m_ClipName хранится имя звукового файла, которое передается через параметр ClipName из документа HTML. По умолчанию для этого параметра используется значение kaas.au.
Строка PARAM_ClipName хранит имя указанного выше параметра.
Ссылка на интерфейс AudioClip хранится в поле auClip:
AudioClip auClip;
Следующие три поля хранят ссылки на кнопки, предназначенные для управления проигрыванием звукового файла:
Button btPlay;
Button btLoop;
Button btStop;
Поле fLoopPlay типа boolean используется для флага, которым отмечается режим проигрывания звукового файла в цикле.
Метод getParameterInfo
Метод getParameterInfo возвращает описание единственного параметра нашего аплета, через который передается имя звукового файла.
Метод init
Сразу после запуска аплета метод init получает значение параметра - имя звукового файла, и если этот параметр задан в документе HTML, записывает полученное имя в поле m_ClipName:
param = getParameter(PARAM_ClipName);
if(param != null)
m_ClipName = param;
Далее создаются три кнопки, управляющие звучанием аплета:
btPlay = new Button("Play");
btLoop = new Button("Loop");
btStop = new Button("Stop");
Кнопка Stop блокируется, так как на данный момент проигрывание еще не запущено:
btStop.disable();
Для блокирования вызывается метод disable, определенный в классе Button.
Подготовленные таким образом кнопки добавляются в окно аплета:
add(btPlay);
add(btLoop);
add(btStop);
Последнее, что делает метод init перед тем как возвратить управление, это получение ссылки на интерфейс AudioClip:
auClip = this.getAudioClip(
getCodeBase(),m_ClipName);
Адрес URL каталога, в котором расположен аплет, определяется с помощью метода getCodeBase, о котором мы говорили в предыдущей главе.
Метод action
Метод action получает управление, когда пользователь нажимает на одну из кнопок, расположенных в окне аплета. В зависимости от того, какая именно кнопка была нажата, выполняются различные действия.
Если пользователь нажал кнопку Play, вызывается метод play для запуска однократного проигрывания звукового файла:
auClip.play();
btStop.enable();
Сразу после того как проигрывание будет запущено, приложение разблокирует кнопку Stop, предоставляя пользователю возможность прервать звучание.
В том случае, когда пользователь нажал кнопку Loop, вызывается метод loop, запусчкающий проигрывание звукового файла в цикле:
auClip.loop();
fLoopPlay = true;
btStop.enable();
После запуска устанавливается флаг fLoopPlay и разблокируется кнопка Stop.
И, наконец, если пользователь нажимает кнопку Stop, выполняется остановка проигрывания методом stop:
auClip.stop();
fLoopPlay = false;
btStop.disable();
Флаг fLoopPlay сбрасывается, после чего кнопка Stop блокируется.
Метод start
Метод start получает управление при первом запуска аплета, а также когда страница документа появляется вновь после того как пользователь временно переходил к просмотру другой страницы.
Наша реализация метода start возобновляет циклическое проигрывание, если оно выполнялось, когда пользователь покинул страницу с аплетом:
if(fLoopPlay)
auClip.loop();
Метод stop
Если пользователь запустил проигрывание звукового файла в цикле, а затем перешел к просмотру другой страницы, метод stop останавливает циклическое проигрывание:
if(fLoopPlay)
auClip.stop();
Когда пользователь вернется к просмотру нашей страницы, метод start, описанный выше, возобновит проигрывание звукового файла.
Графика/
AWT /
Многопоточность и легковесные процессы (доп.мат)/
Ввод – вывод и работа с файлами (доп.мат)/ 1
Работа в сети (доп.мат)/ 1
Растровые изображения и анимация и звук 1
Лекция 1 2
Графика 2
Контекст отображения 2
Методы класса Graphics 2
Установка атрибутов контекста отображения 4
Выбор цвета 4
Метод 5
Описание 5
Выбор шрифта 5
Описание 7
Рисование геометрических фигур 8
Линии 8
Прямоугольники и квадраты 8
Многоугольники 9
Овалы и круги 11
Сегменты 11
Получение значения параметров 14
Метод paint 15
Как обрабатываются события 16
События от мыши 18
Лекция 2 23
AWT 23
Компоненты в окне 23
Кнопки 24
Переключатели 25
Списки класса Choice 27
Списки класса List 28
Текстовое поле класса Label 31
Текстовое поле класса TextField 32
Многострочное текстовое поле класса TextArea 33
Работа с системой Layout Manager 39
Режим FlowLayout 40
Режим GridLayout 41
Режим BorderLayout 42
Режим CardLayout 42
Режим GridBagLayout 43
Работа с панелями 46
Создание панелей 46
Добавление панелей 47
Рисование в окне панели 47
Окна и диалоговые панели 52
Окна класса Frame 52
Класс Menu 55
Класс MenuItem 56
Создание диалоговых панелей 56
Приложение MenuApp 57
Лекция 3 64
Многопоточность и легковесные процессы 64
Многопоточность 64
Процессы, потоки и приоритеты 64
Реализация многопоточности в Java 65
Методы класса Thread 65
Синхронизация потоков 69
Лекция 4 78
Ввод – вывод и работа с файлами 78
Работа с файлами 78
Работа со стандартными потоками 81
Создание потоков, связанных с файлами 81
Запись данных в поток и чтение данных из потока 83
Закрывание потоков 84
Работа с файлами и каталогами при помощи класса File 87
Создание базы данных 97
Лекция 5 99
Работа в сети 99
Создание сетевых приложений 99
Адрес IP и класс InetAddress 99
Универсальный адрес ресурсов URL 100
Класс URL в библиотеке классов Java 101
Конструкторы класса URL 101
Методы класса URL 101
Метод openStream 101
Метод getContent 101
Метод getHost 102
Метод getFile 102
Метод getPort 102
Метод getProtocol 102
Метод getRef 102
Метод hashCode 102
Метод sameFile 102
Метод equals 102
Метод toExternalForm 102
Метод toString 102
Метод openConnection 102
Передача данных с использованием сокетов 102
Работа с потоковыми сокетами 103
Инициализация сервера 103
Инициализация клиента 104
Передача данных между клиентом и сервером 104
Завершение работы сервера и клиента 104
Класс Socket 104
Конструкторы класса Socket 104
Методы класса Socket 104
Использование датаграммных сокетов 105
Класс DatagramSocket 105
Класс DatagramPacket 105
Связь приложений Java с расширениями сервера Web 106
Класс URLConnection 107
Аплет ShowChart 108
Исходные тексты аплета ShowChart 108
Описание исходного текста аплета ShowChart 109
Поля класса ShowChart 109
Метод init 109
Метод paint 110
Приложения SocketServ и SocketClient 110
Описание исходного текста серверного приложения SocketServ 112
Описание исходного текста клиентского приложения SocketClient 114
Аплет Form 115
Исходные тексты аплета Form 115
Описание исходныех текстов аплета Form 117
Исходный текст программы CGI store.exe 118
Лекция 6 119
Растровые изображения и анимация 119
Загрузка и рисование растрового изображения 119
Класс Image 120
Ожидание загрузки изображений 120
Ожидание загрузки добавленных изображений 121
Другие методы класса MediaTracker 121
Применение интерфейса ImageObserver 122
Видео в окне аплета 123
Аплет CDRotation 123
Исходные тексты приложения 124
Описание исходных текстов 125
Метод start 126
Метод stop 126
Метод paint 126
Метод run 126
Метод displayImage 127
Звук в аплетах Java 128
Загрузка и проигрывание звуковых файлов 128
Аплет PlayClip 128
Исходные тексты приложения 128
Описание исходного текста 130
Поля класса PlayClip 130