Содержание статьи

Appletviewer входит в состав JDK начиная с версии 1.0 и предназначен для запуска Java-апплетов без использования браузера. Он считывает HTML-файл с тегом <applet> и выполняет код в отдельном окне, отображая результаты графики и взаимодействия. Это позволяет быстро тестировать апплеты на локальной машине до интеграции в веб-страницу.
Для запуска Appletviewer требуется рабочая установка JDK. Команда java -version проверяет установленную версию Java, а наличие файла appletviewer.exe (Windows) или appletviewer (Linux/macOS) в папке bin JDK подтверждает готовность к использованию. В современных JDK 11+ Appletviewer удалён, поэтому рекомендуется использовать JDK 8 для совместимости с апплетами.
HTML-файл для Appletviewer должен содержать минимальный тег <applet> с атрибутами code и width/height. Например, <applet code=»MyApplet.class» width=»300″ height=»200″></applet>. Appletviewer считывает этот файл и автоматически запускает класс апплета, что позволяет быстро проверять визуальные и интерактивные элементы без настройки веб-сервера.
Как запустить Appletviewer в Java: инструкция и примеры

Для запуска Appletviewer откройте терминал и перейдите в директорию с HTML-файлом, содержащим тег <applet>. Основная команда имеет вид: appletviewer имя_файла.html. Appletviewer автоматически загрузит указанный класс апплета и откроет окно с графическим интерфейсом.
Если HTML-файл находится вне текущей папки, укажите полный путь. Например, appletviewer C:\Projects\MyApplet\index.html на Windows или appletviewer /home/user/MyApplet/index.html на Linux/macOS. Можно запускать несколько HTML-файлов одновременно, перечисляя их через пробел.
Проверьте, чтобы файл MyApplet.class находился в той же папке, что и HTML, либо укажите путь через атрибут codebase. Без корректного расположения классы не загрузятся и возникнет ошибка ClassNotFoundException.
Для передачи параметров используйте тег <param> внутри <applet>. Например, <param name=»speed» value=»5″> позволяет изменять поведение апплета без правки кода. Appletviewer считывает их автоматически при запуске.
Размер окна задается атрибутами width и height в теге <applet>. Например, <applet code=»MyApplet.class» width=»400″ height=»300″></applet> создаст окно подходящей величины и предотвратит обрезку графики.
Проверка наличия Appletviewer в вашей версии JDK

Appletviewer присутствует только в JDK до версии 10 включительно. Для проверки наличия выполните следующие шаги:
- Откройте терминал или командную строку.
- Введите команду java -version для определения установленной версии JDK.
- Перейдите в директорию bin вашей установки JDK:
- Windows: C:\Program Files\Java\jdkX.X.X\bin
- Linux/macOS: /usr/lib/jvm/jdkX.X.X/bin
Проверьте наличие файла appletviewer.exe (Windows) или appletviewer (Linux/macOS). Если файл отсутствует, Appletviewer недоступен в текущей версии JDK и потребуется установить JDK 8 или JDK 9.
Структура HTML-файла для запуска апплета через Appletviewer

Для запуска Java-апплета через Appletviewer HTML-файл должен содержать минимально необходимые теги и корректные атрибуты, обеспечивающие правильную загрузку класса апплета и его параметров.
Основная структура включает:
- <applet> – ключевой тег, определяющий апплет. Его обязательные атрибуты:
- code – имя класса апплета с расширением .class, например
MyApplet.class. - width и height – размеры области отображения апплета в пикселях.
- code – имя класса апплета с расширением .class, например
- <param> – задает параметры для апплета. Атрибуты:
- name – имя параметра, доступное в методе
getParameter()апплета. - value – значение параметра.
- name – имя параметра, доступное в методе
Пример минимального HTML-файла для Appletviewer:
<applet code="MyApplet.class" width="300" height="200"> <param name="background" value="yellow"> <param name="message" value="Привет, Appletviewer"> </applet>
Рекомендации по организации HTML-файла:
- Размещать HTML и класс апплета в одной директории, чтобы избежать проблем с путями.
- Использовать точное имя класса в атрибуте code, включая регистр символов.
- Добавлять только необходимые параметры для упрощения тестирования через Appletviewer.
- Размер апплета подбирать так, чтобы элементы интерфейса не обрезались.
HTML-файл может содержать несколько тегов <applet>, позволяя одновременно тестировать несколько апплетов.
Запуск Appletviewer из командной строки Windows и Linux

Для запуска Appletviewer требуется установленная JDK. Команда выполняется из директории, где находится HTML-файл с апплетом или указывается полный путь к файлу.
Windows:
cd C:\путь\к\проекту appletviewer MyApplet.html
Linux:
cd /home/user/путь/к/проекту appletviewer MyApplet.html
Возможные ключи и параметры:
- -J-Dproperty=value – передача системных свойств Java, например:
appletviewer -J-Duser.language=ru MyApplet.html. - -J-Xmx512m – настройка максимального объема памяти для Appletviewer.
Рекомендации:
- Использовать полный путь к HTML-файлу при запуске из любой директории.
- Следить, чтобы имя файла совпадало с регистром символов в команде.
- При ошибках загрузки проверить, что JDK добавлена в системный PATH.
- Для нескольких апплетов запускать их отдельными экземплярами Appletviewer, указывая разные HTML-файлы.
Использование параметров командной строки для Appletviewer
Appletviewer поддерживает несколько ключей, позволяющих управлять запуском апплета и настройками среды выполнения.
- -J<опция Java> – передает JVM-опции, например:
-J-Xmx512m– ограничение максимального объема памяти до 512 МБ.-J-Duser.language=ru– установка системной локали.
- -encoding <кодировка> – указывает кодировку HTML-файла, например
-encoding UTF-8.
Примеры запуска:
appletviewer -debug MyApplet.html appletviewer -J-Xmx256m -J-Duser.timezone=Europe/Moscow MyApplet.html appletviewer -encoding UTF-8 MyApplet.html
Рекомендации:
- Сочетать параметры -J и -debug для детальной диагностики проблем с памятью или локализацией.
- Указывать кодировку при работе с HTML-файлами, содержащими кириллицу, чтобы избежать ошибок отображения текста.
- Передавать системные свойства через -J-D только для тестирования, чтобы не влиять на глобальные настройки JVM.
Отладка ошибок при запуске апплета через Appletviewer

Основные категории ошибок:
| Тип ошибки | Причина | Решение |
|---|---|---|
| ClassNotFoundException | Неверное имя класса или файл .class отсутствует в директории | Проверить точное имя класса, убедиться, что файл находится в той же директории, что и HTML |
| MalformedURLException | Некорректный путь к ресурсам или параметрам | Использовать абсолютные пути или корректные относительные пути |
| SecurityException | Попытка доступа к запрещенным ресурсам | Запускать апплет без ограничений или использовать AppletViewer с разрешениями |
| NullPointerException | Ошибки в коде апплета при обращении к объектам | Проверить инициализацию всех объектов и параметры, передаваемые через <param> |
| UnsupportedEncodingException | Несовпадение кодировки HTML и JVM | Указать правильную кодировку через -encoding UTF-8 |
Рекомендации при отладке:
- Запускать Appletviewer с ключом -debug для подробной информации о загрузке.
- Проверять регистр символов в имени класса и HTML-файла.
- Убедиться, что все файлы находятся в одной директории или корректно указан путь.
- Использовать System.out.println в методах init() и start() для проверки выполнения кода.
- При ошибках загрузки параметров проверять правильность тегов <param> и их соответствие в коде апплета.
Примеры запуска нескольких апплетов в одном HTML-файле
HTML-файл может содержать несколько тегов <applet>, что позволяет одновременно тестировать разные апплеты через Appletviewer. Каждый апплет задается отдельно с собственными атрибутами и параметрами.
Пример HTML с двумя апплетами:
<applet code="FirstApplet.class" width="300" height="150"> <param name="color" value="blue"> </applet> <applet code="SecondApplet.class" width="250" height="200"> <param name="message" value="Тест второго апплета"> </applet>
Рекомендации по организации нескольких апплетов:
| Совет | Описание |
|---|---|
| Отдельные размеры | Каждый апплет должен иметь уникальные width и height для корректного отображения интерфейса |
| Уникальные имена параметров | Избегать повторения имен параметров между апплетами, чтобы не возникло конфликтов при чтении getParameter() |
| Порядок загрузки | Appletviewer загружает апплеты сверху вниз, поэтому ресурсы, используемые совместно, должны быть инициализированы заранее |
| Размещение файлов | Классы всех апплетов должны находиться в той же директории, что и HTML-файл, или использовать корректные пути |
Для тестирования нескольких апплетов рекомендуется запускать HTML через Appletviewer без дополнительных окон, чтобы оценить взаимодействие всех компонентов на одной странице.
Советы по совместимости Appletviewer с современными версиями Java
Appletviewer входит в состав JDK, но начиная с Java 11 официальная поддержка апплетов удалена. Для тестирования старых апплетов требуется JDK 8 или JDK 10.
Рекомендации по совместимости:
- Использовать JDK 8 или 10 – эти версии включают Appletviewer и обеспечивают корректную работу большинства старых апплетов.
- Проверять пути к классам – современные файловые системы чувствительны к регистру, поэтому атрибут code в <applet> должен точно соответствовать имени файла .class.
- Системные свойства JVM – передавать через -J-Dproperty=value для настройки локали, таймзоны или кодировки при запуске старых HTML-файлов.
- Обновление кода апплета – при необходимости заменить устаревшие методы, такие как getAppletContext() или showStatus(), на совместимые аналоги в JDK 8.
- Изоляция Appletviewer – запускать тестовые апплеты в отдельной директории с минимальными HTML-файлами для исключения конфликтов с современными библиотеками.
Пример запуска с настройкой локали и памяти:
appletviewer -J-Xmx256m -J-Duser.language=ru MyApplet.html
Следование этим рекомендациям позволяет тестировать старые Java-апплеты без необходимости использования устаревших браузеров и плагинов.
Вопрос-ответ:
Можно ли запускать несколько апплетов через один HTML-файл в Appletviewer?
Да, HTML-файл может содержать несколько тегов <applet>, каждый с собственным классом и параметрами. Для корректного отображения необходимо указать уникальные размеры и имена параметров для каждого апплета. Appletviewer загружает их сверху вниз, поэтому любые ресурсы, используемые совместно, должны быть доступны заранее. Все классы должны находиться в той же директории, что и HTML-файл, либо использовать корректные пути.
Как передавать параметры JVM при запуске Appletviewer?
Appletviewer позволяет передавать JVM-параметры с помощью ключа -J. Например, для ограничения памяти можно использовать -J-Xmx512m, а для установки системных свойств — -J-Duser.language=ru. Эти параметры добавляются перед именем HTML-файла: appletviewer -J-Xmx256m -J-Duser.timezone=Europe/Moscow MyApplet.html. Такой способ позволяет контролировать настройки среды выполнения без изменения глобальных параметров Java.
Какие ошибки чаще всего возникают при запуске апплета через Appletviewer и как их исправлять?
Основные ошибки включают ClassNotFoundException, MalformedURLException, SecurityException, NullPointerException и UnsupportedEncodingException. ClassNotFoundException возникает при отсутствии файла класса или неверном имени, исправляется проверкой имени и пути. MalformedURLException появляется при неправильных путях к ресурсам. SecurityException может возникать при попытке доступа к запрещенным ресурсам, тогда запуск должен выполняться с необходимыми правами. NullPointerException указывает на ошибки инициализации объектов внутри кода. UnsupportedEncodingException исправляется указанием правильной кодировки через -encoding UTF-8.
Можно ли использовать Appletviewer с современными версиями Java?
Appletviewer поддерживается в JDK до версии 10 включительно. Начиная с Java 11, поддержка апплетов удалена. Для тестирования старых апплетов рекомендуется использовать JDK 8 или 10. При запуске следует проверять регистр символов в имени класса, использовать корректные пути и при необходимости передавать системные свойства JVM через -J-D. Также полезно тестировать апплеты в отдельной директории, чтобы исключить конфликты с современными библиотеками.
