这个标题可能听起来很混乱所以我会解释我的问题。 我正在将我的java应用程序转换为applet,它在Eclipse中工作正常,当我使用标签创建一个html文件时。但是当我将我的applet上传到google sites并通过html文件执行它时,程序本身加载正常,但它尝试从我自己的硬盘而不是从JAR文件加载其图像。我怎么能改变它?
HTML:
<applet
archive="https://sites.google.com/site/projectteagame/tea.jar"
code="ymte.core.Loader"
width=300
height=300> </applet>
编辑:
为了速度和轻松,我将所有文件保存在jar中。我获取图像的代码是:
img = ImageIO.read(Loader.class.getResourceAsStream("/res/object/ball.bmp"));
这适用于我的IDE,但不适用于在线使用
答案 0 :(得分:-1)
您可以提供代码告诉我们您是如何获取图像的,但我想它并没有捆绑在jar中。一种方法是将jar放入你的包中并获得它:
然而,这有点花哨。一种首选方法是将图像放入项目中位于源外的目录中,如图像或资源,然后将其捆绑在applet的jar中。使用您最喜欢的构建工具(ant,maven,ivy)将图像包含在jar中。目录结构可以是这样的:Class.getResourceAsStream( “富”);
project
-src
-resources
-<yourImage>
然后,您将使用相对路径将您的图像作为URL或文件访问。如果您提供更多代码,也许您可以获得进一步的帮助。
修改强> 的 您的资源就在您的applet中,您可以将其放在一个软件包中。然后,您可以在代码中进一步
Class.getResourceAsStream
这就是你如何获得你的形象,因为它保证在你的类路径中。
基本上,如果你有这样的包结构:
项目src com.foo.bar com.foo.bar.stuff com.foo.bar.resources -yourImage -其他的东西 -ResourceGetter.java
您可以在ResourceGetter中执行以下操作
Class.getResourceAsStream("yourImage");
这将为您提供图像处理,您可以像平常一样加载它。