Апплет Java, встроенный в HTML, вызывает исключение InvocationTargetException

У меня есть следующий HTML-код для встраивания моего Java-апплета:

<applet code="MyClass" URL="path/MyClass.class" height="200" width="400"></applet>

Апплет не работает и в консоли появляется следующая ошибка:

java.lang.reflect.InvocationTargetException в com.sun.deploy.util.DeployAWTUtil.invokeAndWait(DeployAWTUtil.java:116) в sun.plugin2.applet.Plugin2Manager.runOnEDT(Plugin2Manager.java:3606) в sun.plugin2.applet. Plugin2Manager.createApplet(Plugin2Manager.java:3131) в sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1517) в java.lang.Thread.run(Thread.java:680) Причина: java.lang .ClassCastException: MyClass не может быть приведен к java.applet.Applet в sun.plugin2.applet.Plugin2Manager$13.run(Plugin2Manager.java:3119) в java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199) в java .awt.EventQueue.dispatchEventImpl(EventQueue.java:715) в java.awt.EventQueue.access$400(EventQueue.java:82) в java.awt.EventQueue$2.run(EventQueue.java:676) в java.awt. EventQueue$2.run(EventQueue.java:674) в java.security.AccessController.doPrivileged(собственный метод) в java.security.A ccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86) в java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:97) в java.awt.EventQueue$3.run(EventQueue.java:690) в java.awt.EventQueue$3 .run(EventQueue.java:688) в java.security.AccessController.doPrivileged(собственный метод) в java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:86) в java.awt.EventQueue.dispatchEvent(EventQueue.java: 687) в java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) в java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) в java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) в java. awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) в java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) в java.awt.EventDispatchThread.run(EventDispa tchThread.java:122) Исключение: java.lang.reflect.InvocationTargetException

Чем это вызвано?

Спасибо за помощь.


person Leopold Joy    schedule 05.03.2014    source источник


Ответы (1)


Глядя на вашу ошибку, я вижу:

Caused by: java.lang.ClassCastException: MyClass cannot be cast to java.applet.Applet 

Вероятно, плагин JVM неправильно загружает ваш класс, я думаю, что вам нужно использовать параметр archive вместо URL, чтобы указать путь к вашим классам апплетов, если есть В этом случае в параметре code необходимо указать полный путь mypackage.MyClass и убедиться, что основной класс вашего апплета расширяет javax.swing.JApplet или java.applet.Applet.

Также я рекомендую вам использовать ‹ Object> и ‹ embed> вместо ‹ апплета>, поскольку он устарел в html4 и html5< /а> спецификация:

Надеюсь это поможет,

person albciff    schedule 05.03.2014