Определить модальный диалог Java-апплета в веб-браузере - PullRequest
0 голосов
/ 27 июня 2011

Мы размещаем веб-приложения в веб-браузере .Net, встроенном в winform.

Когда Java-апплет в веб-приложении отображает модальное диалоговое окно, деактивируется только область апплета в веб-приложении. (Требуется модальность в стиле Firefox).

Есть ли способ обнаружить, что апплет в веб-браузере отображает модальное диалоговое окно? (или получить дескриптор окна, когда открывается диалоговое окно Java-апплета?)

Ответы [ 2 ]

0 голосов
/ 30 июня 2011

Используйте sun.plugin2.main.client.ModalityHelper.installModalityListener (). Это будет сигнализировать modalityPopped и modalityPressed.

http://www.javasourcecode.org/html/open-source/jdk/jdk-6u23/sun/plugin2/main/client/ModalityHelper.html#installModalityListener%28sun.plugin2.main.client.ModalityInterface%29

Требуется Java 6 и может работать только на некоторых конкретных платформах (область действия пока неизвестна).

0 голосов
/ 27 июня 2011

Используйте некоторый JavaScript для прямого вызова метода Java Window.getWindows() для массива существующих Window объектов.(J)Frame объекты и (J)Dialog объекты все расширяются Window.

Обратите внимание, что, AFAIR, каждый апплет получает Frame для его хранения.Поскольку на экране будет больше «окон», чем просто диалогов, вам нужно будет проверять типы.

Делайте это через соответствующий интервал несколько раз из JS, и должна быть возможность обнаруживать любые диалоги, созданныеJava-апплеты.

В качестве альтернативы может быть проще расширить апплет и добавить некоторые дополнительные методы, чтобы выполнить те же проверки, как указано выше, а затем вызвать JavaScript, чтобы уведомить о наличии открытых диалогов.

...