首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应用程序中的Java小程序

应用程序中的Java小程序
EN

Stack Overflow用户
提问于 2011-04-21 16:20:19
回答 2查看 249关注 0票数 0

在学习如何用Java编程的过程中,我写了一个Snake克隆。它是一个使用图像的小程序(使用getImage(getDocumentBase(),“gfx/image.png”在init()方法中加载);

当我在我的IDE (Eclipse)中运行这个applet时,它运行得很好,并且显示了所有的图像。

然而,我的目标是创建一个可执行的jar文件,它比applet更容易传递。因此,我创建了一个新类,并使用JPanel来托管我的小程序。现在的问题是getDocumentBase()总是返回null,导致在文件系统上找不到图像,从而导致一个空屏幕。

我知道游戏会运行,因为我可以浏览所有的菜单,并看到所有打印的文本。它只是没有加载的图像。

有什么办法可以解决这个问题吗?我应该以另一种方式加载我的图像吗?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2011-04-21 16:28:54

您可以使用Class中的getResource()方法从jar文件中加载资源。在DevX上有一个很好的教程,向你展示了如何在小程序和应用程序中做到这一点:

http://www.devx.com/tips/Tip/5697

还有一篇来自Oracle的文章描述了如何以独立于位置的方式访问资源:

http://download.oracle.com/javase/1.4.2/docs/guide/resources/resources.html

基本上,您访问的图像如下所示:

代码语言:javascript
运行
复制
URL myurl = this.getClass().getResource("/myimage.gif");
Toolkit tk = this.getToolkit();
img = tk.getImage(myurl);
票数 2
EN

Stack Overflow用户

发布于 2011-04-21 16:35:42

像这样加载你的图像:

代码语言:javascript
运行
复制
public void init() {
    URL url = getClass().getResource("/gfx/image.png");
    Image image = getImage(url);
}

然后将gfx/image.png文件添加到jar中并保留路径。请注意,jar文件只是zip文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5741403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档