我有一个非常简单的Test程序,它只是打开一个JFrame,我想在浏览器中打开它。我知道我必须对其进行自我签名才能打开它,但它只会引发以下错误:

java.lang.reflect.InvocationTargetException


我已经与JARMAKER签署了罐子

我的HTML加载jar:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
  </head>
  <body>
    <p>Inhalt der Webseite</p>

    <applet code=Simple_Frame.class
        archive="Simple_Frame2.jar"
        width="120" height="120">
</applet>
  </body>
</html>


简单的测试程序:

    import java.applet.Applet;
import java.awt.*;

/**
 * Created by Flex on 22.10.14.
 */
public class Start extends Applet{

    public static void main(String[] args) {

        EventQueue.invokeLater(new Runnable() {
            @Override
            public void run() {
                Simple_Frame ex = new Simple_Frame();
                ex.setVisible(true);
            }
        });
    }
}


import javax.swing.JFrame;

public class Simple_Frame extends JFrame {

    public Simple_Frame() {

        setTitle("Simple example");
        setSize(300, 200);
        setLocationRelativeTo(null);
        setDefaultCloseOperation(EXIT_ON_CLOSE);
    }
}


如何在本地主机上的网页中打开一个Jar进行测试,而不会出现该错误,该错误是什么意思?

最佳答案

<applet code=Simple_Frame.class
    archive="Simple_Frame2.jar"
    width="120" height="120">


首先让我惊讶的是Simple_Frame不是applet。 Start类是。

<applet code=Start
    archive="Simple_Frame2.jar"
    width="120" height="120">


另一个提示是,InvocationTargetException通常是另一个更具体的异常的包装。始终复制/粘贴完整的错误和异常输出!

10-07 20:56