繁体   English   中英

HTML中嵌入的Java Applet导致InvocationTargetException

[英]Java Applet Embedded in HTML Causes InvocationTargetException

我具有以下用于嵌入Java小程序的HTML:

<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在sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run(Plugin2Manager.java:1517)处的Plugin2Manager.createApplet(Plugin2Manager.java:3131)在java.lang.Thread.run(Thread.java:680)造成原因:java.lang .ClassCastException:MyClass无法在java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)处强制转换为java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:199)处的sun.plugin2.applet.Plugin2Manager $ 13.run(Plugin2Manager.java:3119)上的java.applet.Applet .awt.EventQueue.dispatchEventImpl(EventQueue.java:715)at java.awt.EventQueue.access $ 400(EventQueue.java:82)at java.awt.EventQueue $ 2.run(java.awt。 j处的java.security.AccessController.doPrivileged(本机方法)的EventQueue $ 2.run(EventQueue.java:674)j处的java.security.AccessControlContext $ 1.doIntersectionPrivilege(AccessControlContext.java:86) ava.security.AccessControlContext $ 1.doIntersectionPrivilege(AccessControlContext.java:97)在java.awt.EventQueue $ 3.run(EventQueue.java:690)在java.awt.EventQueue $ 3.run(EventQueue.java:688)在java。 java.security.AccessControlContext $ 1.doIntersectionPrivilege(AccessControlContext.java:86)处的security.AccessController.doPrivileged(本机方法)java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchatchThreads)中的java.awt.EventQueue.dispatchEvent(EventQueue.java:687) .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.run(EventDispatchThread.java:188)在java.awt.EventDispatchThread.run(EventDispatchThread.java:122)异常:java.lang.reflect.InvocationTargetException

是什么原因造成的?

谢谢您的帮助。

看你的错误,我看到:

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

可能是JVM插件未正确加载您的类,我认为必须使用archive参数而不是URL才能指定applet类的路径,如果在代码参数中是这种情况,则必须指定完整路径mypackage.MyClass ,并确保您的applet主类扩展了javax.swing.JApplet或java.applet.Applet。

另外,我建议您使用<Object>和<embed>而不是<applet>,因为在html4html5规范中已弃用:

希望这可以帮助,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM