0

我在 Java 7 中有一个 JApplet,每次我想在浏览器中启动它时,我都会收到fromInvocationTargetException的调用。这是我的堆栈跟踪:getParameter()JApplet

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.runOnEDTAndWait(Unknown Source)
    at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.instantiateApplet(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.reflect.InvocationTargetException
    at com.sun.deploy.uitoolkit.impl.awt.OldPluginAWTUtil.invokeAndWait(Unknown Source)
    ... 5 more
Caused by: java.lang.NullPointerException
    at java.applet.Applet.getParameter(Unknown Source)
    at TicTacToe.TicTacToeAppletView.<init>(TicTacToeAppletView.java:34)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.lang.Class.newInstance0(Unknown Source)
    at java.lang.Class.newInstance(Unknown Source)
    at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter$1.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.awt.EventQueue$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
    at java.awt.EventQueue.dispatchEvent(Unknown Source)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.awt.EventDispatchThread.run(Unknown Source)

我的 HTML 文件如下所示:

<applet code="TicTacToe/TicTacToeAppletView.class" width="400" height="400">
<param name=Size value="4">
</applet>

在与 HTML 文件相同的文件夹中,有一个名为 TicTacToe 的文件夹,其中包含所有必要的类文件(当然,否则我会得到一个ClassNotFoundException.

如果我不使用 getParameter(),它工作正常。使用此方法的 Java 代码如下所示:

String s = getParameter("Size");

那么到底是什么造成了这么多麻烦呢?

4

1 回答 1

1

参数名称 Size 不应该用引号引起来吗?

<param name="Size" value="4">

有关使用参数的更多信息,请查看定义和使用 Applet 参数教程

于 2012-07-11T01:05:04.023 回答