【问题标题】:why are my textures not working?为什么我的纹理不起作用?
【发布时间】:2013-07-26 09:42:43
【问题描述】:

我的纹理只在 Eclipse 中工作,但是当我尝试将其导出为可运行的 jar 时,我启动它并且没有纹理。我创建了一个资源文件夹并通过将其设置为类文件夹将其连接到项目,但它仅适用于 Eclipse。这就是我通常访问纹理的方式。

Image something;
public Image getsomethingImg(){

    ImageIcon s=new ImageIcon("res/something.png");
    something=s.getImage();
    return something;
}

然后我画它。

g2d.drawImage(getsomethingImg(), 0, 0, null);

【问题讨论】:

  • 您应该在构建/部署后检查纹理的位置。可能值得回顾这些路径,因为它们在 Eclipse 项目中可能不同。 “res/...”可以在 Eclipse 中工作,因为基本路径将是项目根目录,但在外部运行项目可能需要完整路径,如“C:\....”
  • 1) g2d.drawImage(getsomethingImg(), 0, 0, null); 应该(很可能)是 g2d.drawImage(getsomethingImg(), 0, 0, this);。 2)不要尝试在绘画方法中加载图像! 3) 为了尽快获得更好的帮助,请发帖SSCCE
  • 请看一下这个答案,adding resources to project。希望它会帮助你:-)

标签: java image swing embedded-resource textures


【解决方案1】:

How to includes all images in jar file using eclipse

接下来试试这个。

ImageIcon s = new ImageIcon(getClass().getResource("res/something.png"));

【讨论】:

  • 使用ImageIO 读取图像更安全,因为如果路径错误,它会抛出信息异常。
  • 这是一个小问题,但我该怎么写呢?就像在课堂上一样,我不断收到错误。
  • @liamspeakman :请看一下这个answer,这可能会给你这个想法:-) 此外,不要将ImageObserver 部分保留为null,在你的@987654327 @
  • 比较?比如什么类,我使用什么主要的绘制方法,或者别的什么?抱歉,如果这是一个愚蠢的问题,我只有大约 5 个月的 Java 编码经验。
猜你喜欢
  • 1970-01-01
  • 2023-01-28
  • 2022-01-21
  • 1970-01-01
  • 2021-05-04
  • 2013-11-09
  • 1970-01-01
  • 1970-01-01
  • 2011-12-08
相关资源
最近更新 更多