JApplet适用于applet查看器,而不适用于HTML页面

时间:2012-02-29 19:27:35

标签: java eclipse applet jung japplet

本主题已经以某种形式涵盖,但其他任何线程都无法提供帮助。我的问题与这篇文章非常相似,我正在制作一个具有附加功能的JUNG图,但没有一个解决方案有帮助:

JApplet fails to run in HTML page

我有一个Java应用程序,我转换为JApplet。 JApplet在Eclipse中的applet查看器中运行良好,但是当我尝试在网页中打开它时我将无法工作(我已经尝试过IE,FireFox和Chrome)。我的HTML页面和存档文件夹都在同一目录中。当我加载HTML页面时,它什么也没带来。

这是我的HTML代码:

<html>
<title>Applet</title>
<head>

</head>
<body>

<applet code="prerna.blueprint.main.BPTester.class" 
        archive="applet1.jar"
        width="800" height="800">
</applet>

</body>
</html>

当我尝试使用code =“BPTester.class”时,它会给出java.lang.ClassNotFoundException:BPTester.class但是当我使用code =“prerna.blueprint.main.BPTester.class”时,它给了我没有任何错误发生。 (prerna / blueprint / main / BPTester.class是我的src文件夹中的文件路径)。我将我的Java项目导出为可运行的jar文件,这是正确的吗?我创建了一个简单的JApplet,当我执行所有相同的步骤时工作正常,但它不适用于BPTester.class。

如果我需要发布我的BPTester.class代码,我可以。

我不明白为什么我无法在网页中查看JApplet,非常感谢任何帮助。

4 个答案:

答案 0 :(得分:2)

最终为我工作的是将我在japplet中使用的每个jar添加到HTML归档变量中然后必须对每个jar进行签名。然后我在applet1.jar中访问我的数据库时遇到了问题,因此我只为其位置设置了绝对路径。

答案 1 :(得分:1)

  

java.security.AccessControlException:拒绝访问(java.util.PropertyPermission user.dir read)

applet需要进行数字签名(由您)并在获得此类信息之前(最终用户在提示时)进行信任。鉴于此applet是使用传统的applet元素部署的(即不使用web start), 所有 jars需要签名。

答案 2 :(得分:1)

你需要在每个罐子上签名。您可以使用jarsigner实用程序对所有jar进行签名。例如:

jarsigner.exe "nameofthejar.jar" "alias"

答案 3 :(得分:0)

从末尾删除.class。您可以在末尾使用带斜杠和.class的文件路径,也可以只使用句点而不使用.class。

尝试在java控制面板中启用跟踪。然后,它将在以下路径中生成可能有用的日志文件:%USERPROFILE%\AppData\LocalLow\sun\java\Deployment\log