【发布时间】:2016-02-21 20:31:43
【问题描述】:
有一个类似的问题 (Java Applet Cannot Locate Resources),但base 给我一个错误,并要求我创建一个变量。
我有一个嵌入 HTML 的小程序:
<object type="application/x-java-applet" height="600" width="800">
<param name="code" value="net.me.applet.WindowMain" />
</object>
小程序启动,尝试更改内容窗格的颜色也可以,这意味着与 HTML 的链接可能没有错误。
然后,我像这样链接我的资产:
ImageIcon left = new ImageIcon(getCodeBase(), "Arrow_Left.png");
PNG 与我的小程序位于同一目录中。图片没有显示,所以我假设没有找到资产。我也尝试过"/Arrow_Left.png",但无济于事。
目录结构是这样的:
/ root directory
index.html
(dir)net
| me
| applet
| WindowMain.class
当我在 Eclipse 中开发小程序时,我用编译单元制作了一个包,并在 src 文件夹中创建了一个名为“assets”的文件夹,我使用ImageIcon("src/assets/Arrow_Left.png")访问了这些用于测试目的
【问题讨论】:
-
你不应该使用 src 访问资源,因为它不会在运行时存在
-
“PNG 和我的小程序在同一个目录” 就是和你的 index.html 文件或者你的类文件(在包里)在同一个目录
-
@MadProgrammer 我在根目录下有我的index.html,然后有一系列目录作为包,所以从根目录:net > me > applet > WindowMain.class。我将 PNG 放在与 WindowMain.class 相同的目录中
-
您还应该注意,小程序实际上已被弃用,因为不再支持该插件(并且被大多数浏览器有效阻止)
-
使用 getClass().getResource("Arrow_Left.png") 代替