#java #parameters #applet
#java #параметры #апплет
Вопрос:
Я хочу изменить os.name свойство перед вызовом апплета.
(Использование appletviewer -J-Dos.name=Windows в Linux вызывает множество исключений, что вполне понятно)
Итак, я решил, что буду использовать System.setProperty() для установки имени ОС в программе Java (т. Е. JVM при запуске будет иметь правильное имя ОС, но апплет не будет), а затем вызвать апплет оттуда (вызвав его init() функция)
Проблема в том, что я не знаю, как передать параметры апплету (те, для которых я обычно использую HTML-тег param.)?
Есть идеи?
Я думаю, что это может быть возможно путем реализации интерфейса AppletStub, но я не уверен, как реализовать другие методы (кроме getParameter).
Комментарии:
1. Почему вы хотите изменить os.name ? Конечно, апплет при запуске будет иметь правильное значение? Например, в Windows os.name = «Windows 7»
2. Я провожу некоторый динамический анализ апплетов. Поскольку некоторые апплеты проверяют ОС и продолжают работу только тогда, когда это Windows, мне нужно «подделать» мою ОС для запуска апплета.
Ответ №1:
Вы можете просмотреть исходный код appletviewer
OpenJDK в поисках идей или даже повторно использовать его код для своих целей. Однако можно отобразить апплет с меньшим количеством кода, чем это, если вам не нужны все функции appletviewer от Oracle. Я нашел это у Яна Ф. Дарвина или даже этот пост от Сандипа Шармы, который, похоже, действительно урезанная версия.