Из расплывчатой памяти вызовы для установки JSObject
завершатся неудачно, если вызываться из метода init()
.
Так вот ..
public void init() {
js = JSObject.getWindow(this);
}
.. вероятно должно быть ..
public void start() {
js = JSObject.getWindow(this);
}
Поскольку метод start()
может вызываться много раз (например, восстанавливать браузер из свернутого), возможно, стоит использовать чек:
public void start() {
if (js==null) {
js = JSObject.getWindow(this);
}
}
Обновление
Я видел это в Чтение / запись значений полей HTML из JAVA . «Мелкий шрифт» внизу страницы отмечает:
Для достижения наилучшего результата никогда не используйте LiveConnect JSObject в методе init () апплета.