2012-07-09 270 views
1

我出现以下情况例外,当我尝试运行小程序:java.lang.reflect.InvocationTargetException:这是什么原因?

java.lang.reflect.InvocationTargetException 
at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(Unknown Source) 
at sun.plugin2.applet.Plugin2Manager.runOnEDT(Unknown Source) 
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) 
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.RuntimeException: java.lang.IllegalAccessException: Class sun.plugin2.applet.Plugin2Manager$12 can not access a member of class MyApplet with modifiers "" 
at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source) 
at java.awt.event.InvocationEvent.dispatch(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) 
    Caused by: java.lang.IllegalAccessException: Class sun.plugin2.applet.Plugin2Manager$12 can not access a member of class MyApplet with modifiers "" 
at sun.reflect.Reflection.ensureMemberAccess(Unknown Source) 
at java.lang.Class.newInstance0(Unknown Source) 
at java.lang.Class.newInstance(Unknown Source) 
... 9 more 

例外:java.lang.reflect.InvocationTargetException

applet代码:

import javax.swing.*; 
import java.awt.*; 

class MyApplet extends JApplet { 

public JFrame frame; 
public JPanel panel; 
public JButton button; 

public void init() { 
    frame = new JFrame(); 
    panel = new JPanel(); 
    button = new JButton("click me "); 
    panel.setBackground(Color.RED); 
    panel.add(button); 
    frame.add(panel); 
    frame.setSize(300,300); 
    frame.setVisible(true); 
} 
} 

HTML文件:

<applet code="MyApplet" codebase="AppletPackage" archive="JAR.jar" height="800" width="800"> 

JAR.jar包含一个名为AppletPackage包,其中包含类MyApplet。它还包含自动添加的清单文件。

有什么问题?

回答

3

InvocationTargetException暗示某些反射呼叫失败。看起来某些Sun(Oracle)类尝试使用Reflection来访问代码中的类。

您的类MyApplet没有public范围修饰符。如果你添加它,我希望事情能够奏效,因为这是例外情况。

引起:java.lang.IllegalAccessException:类sun.plugin2.applet.Plugin2Manager $ 12 不能访问类MyApplet的成员与改性剂 “”

相关问题