Java applet不会在浏览器中绘制或接受鼠标输入,但在Eclipse Appletviewer中也是如此

时间:2013-10-25 06:32:09

标签: java eclipse swing applet japplet

我正在做一个名为“电磁场曲棍球”的个人项目(以The University of Colorado's PhET website的电场曲棍球命名)。我决定将应用程序移植到我网站上的java applet中。

问题是applet不接受任何鼠标输入,我甚至不知道它是否已经启动,因为当我切换标签并返回时图形消失了。我知道applet正在寻找代码和代码库,因为applet正确初始化并呈现图形的第一帧,然后什么都不做。什么是特殊的applet在Eclipse的Appletviewer中运行良好。我怀疑罪魁祸首是start()方法,我认为不会在浏览器中执行。

如果有帮助,您可以在http://leo.scruffohio.net/programs/EMFieldHockey.html找到小程序。我在Linux上使用Firefox测试它,在Mac上使用Safari测试它,因此它不是系统相关的问题。请注意,运行jar文件(位于http://leo.scruffohio.net/programs/java/thebombzen-emhockey-dev3.jar)时,应用程序可以正常工作。

我的applet代码非常简单:

public class EMFieldHockeyApplet extends JApplet {

    private static final long serialVersionUID = 8145754973708683690L;

    @Override
    public void init() {
        this.setBackground(Color.WHITE);
        this.setLayout(new GridLayout());
        this.add(ElectromagneticFieldHockey.getInstance());
        // that's the main application JPanel
    }

    @Override
    public void start() {
        ElectromagneticFieldHockey.start();
    }

    @Override
    public void stop(){
        ElectromagneticFieldHockey.stop();
    }

}

1 个答案:

答案 0 :(得分:2)

你的jar签名似乎有问题,试试吧

http://docs.oracle.com/javase/tutorial/deployment/jar/signing.html