Говорят, что <applet> не работает...
Судя по отголоскам на форумах - внимание к апплету затухло лет 8-10 тому назад. Не обошлось здесь без
мокро - мягких. Они так выхолостили ОС, что винду уже не возможно отличить от андроида. Разве-что - по
внешнему виду устройства. Что-бы сторонний код заработал, его нужно прогнать через компилятор, где его
пристегнут к несущему системному ядру. Так создаются
exe- и
apk-файлы. А сам компилятор
должен быть установлен (инсталирован) на РС (это - опять exe-файл !). Другими словами : на каждый новый Java-болт
тут-же придумывалась exe-гайка. Мы попробуем, по возможности, обойти все ограничения ОС Windows, а те, что не
удастся обойти - постораемся учесть.
Начнём с создания файла
player.java :
Проигрыватель мы будем создавать в стиле
Swing + JMF и пусть AWT не обижается. Создадим проект
и упакуем весь код проекта в
jar-архив. Максимально упростим код - создадим только
кнопку выбора (20, рис.5) и панельку (18,29, рис.5), на которую поместим эту кнопку. Все остальные компоненты
нам предоставят выше-перечисленные библиотеки (API). И так - поехали (не каламбур) :
-- (05-10, рис.5) подключаем
импорт;
-- (11, рис.5) создаём публичный (общедоступный) класс, который наследует JApplet и следит за кнопкой выбора;
-- (13-14, рис.5) задаём переменные;
-- (21-28, рис.5) создаём анонимный внутренний класс, обрабатывающий
события кнопки select. В реализации указываем два метода-класса (25 и 26, рис.5);
-- (33-51, рис.5) реализуем вышеупомянутые методы :
если нажать кнопку выбора - создаётся выборщик (35, рис.5), который открывает окно диалога (37, рис.5); если
окно открылось (всякое бывает...) мы попытаемся (!) выбрать файл (39, рис.5) для прослушивания-просмотра;
-- (41-50, рис.5) создаём проигрыватель;
-- (52-60, рис.5) подключаем типовые компоненты;
-- (61-74) это - наиболее любопытный метод нашего класса и на нём стоит
остановится по-подробнее :
обычно в структуре
applet - класса метод
main отсутствует,
но нам без него не обойтись, поскольку, при создании
jar-архива, в
манифесте необходимо
указать класс с методом main (тот, который "...один на всех");
Практически любое диалоговое приложение на Java может быть реализовано так, что оно сможет работать и как
программа и как апплет (не нужно только забывать об ограничениях, налагаемых на аплеты по доступу к ресурсам
машины). Именно для этого нам понадобилось реализовать метод main . В нем мы создаем объект нашего класса
player (63, рис.5) , объект класса JFrame , помещаем объект класса player на фрейм, устанавливаем размер фрейма
(по размеру апплета). После этого мы вызываем методы init и start , выполняя те действия, которые сделал бы браузер, если бы мы
запускали апплет с его помощью. И, наконец, активизируем фрейм методом setVisible (73, рис.5).
Если присмотреться - всё это происходит...всё в том-же потоке диспетчеризации, а сам JApplet - это переделанный
JFrame. Без этого к браузеру (читай - ОС) не подступиться. И пусть вас не удивляет размер окна (70, рис.5) - библиотеки
не очень свежие, вполне возможна поддержка только окна
4 : 3;
-- (75-89, рис.5) этод класс контролирует местоположение компонентов панели;
-- (90, рис.5) это - просто рамочка чёрного цвета (17, рис.5) вокруг проигрывателя;
А теперь мы позаботимся о том, что-бы наш
проигрыватель прилично выглядел (хотя-бы на нашем компе).
продолжить...
...вернутся