我在Java 7中有一個JApplet,每次我想在瀏覽器中啓動它時,的的調用JApplet
得到一個InvocationTargetException
。這裏是我的堆棧跟蹤:InvocationTargetException在調用JApplet中的getParameter()時
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文件中,有包含所有必要的類文件(名爲井字遊戲的文件夾當然,否則我會得到一個ClassNotFoundException
)。
它工作正常,如果我不使用getParameter()。使用這種方法簡單的Java代碼看起來像:
String s = getParameter("Size");
那麼到底是什麼原因造成這麼多麻煩?
可粘貼的Java類對應的這個'StackTraceElement'的代碼? '在TicTacToe.TicTacToeAppletView。 (TicTacToeAppletView.java:34)' – asgs 2012-07-11 01:08:58
我做了,它是'String s = getParameter(「Size」);' – 2012-07-11 01:16:52
1)[Test VM]的版本是什麼(http://java.com/zh_CN/download /testjava.jsp)測試瀏覽器的報告? 2)確保驗證HTML。要使用applet標記,它需要是HTML 3.2或HTML 4.01 Transitional。或者更好的是,使用信息中提到的'deployJava.js'編寫小程序元素。 [tag:applet]上的頁面。 – 2012-07-11 03:36:16