Сообщения «класс не найден» обычно можно уменьшить, добавив ..
<param name='codebase_lookup' value='false'>
.. к элементу applet
.По крайней мере, если классы - Jar'd.
Подробнее см. Специальные атрибуты апплета .
Примечание: Это апплет param
в HTML , не a param
в файле JNLP .
Попросите друга сообщить о Java.Свойства версии и java.vendor .
Апплеты могут быть настроены только с помощью JNLP от Sun 1.6.0_10 +.Даже тогда браузер должен был быть специально настроен для использования плагина «следующего поколения» в Linux.Лучше (при тестировании, по крайней мере) поместить совершенно другой апплет в элемент апплета в HTML (тот, который указан в JNLP), чтобы помочь определить, получаете ли «следующее поколение»./ plug-in2 'поведение.
Редактировать 2:
Тестирование: Когда в диалоге доверия отказано:
exception: exit(-1).
ExitException[ 4]java.lang.RuntimeException: exit(-1)
at com.sun.javaws.Main.systemExit(Unknown Source)
at com.sun.javaws.security.AppPolicy.grantUnrestrictedAccess(Unknown Source)
at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(Unknown Source)
at com.sun.javaws.LaunchDownload.checkSignedResources(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.loadJarFiles(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Exception: ExitException[ 4]java.lang.RuntimeException: exit(-1)
Откуда взялся ExitException
?Я не вижу упоминания о не-Sun-коде в трассировке, но не знаю точно, RuntimeException
.
Убедитесь, что кадр не пытается вызвать JFrame.EXIT_ON_CLOSE
.Даже доверенному апплету не разрешено завершать текущий экземпляр виртуальной машины.Я разобрался, как это обойти, и попробовал - увидеть весь крах браузера.;)
Тестирование: Когда диалог доверия активен:
Апплет запускается и выдает кнопку, чтобы вызвать свободно плавающий «микшер».Кнопки могут издавать звук, но не могут понять его оттуда.
Почему именно этому апплету нужно доверие?
Вероятно, было бы лучше отказаться от апплета и иметьJNLP запускает JFrame
напрямую.
Поскольку вы, похоже, ожидаете, что у конечного пользователя будет 1.6.0 (_10 +), было бы также целесообразно вызвать setMinimumSize()
на JFrame
после pack()
называется.