【问题标题】:Cannot access a resource directory in intelliJ, while importing a project导入项目时无法访问 intelliJ 中的资源目录
【发布时间】:2018-11-27 19:01:01
【问题描述】:

我已经从 git 导入了我的项目,并相应地将 Source root 设置为 User/sharan/Chess/Chess/src,其中“sharan”是我的主目录。在我的主类中,我尝试从目录路径 sharan/Chess/Chess/icon/" ".png 访问 png 图标,但它似乎没有获取图标图像。但是我确信我使用该功能和路径是正确的,因为当我在我编写此应用程序的另一台机器上使用它时它工作正常。

我认为这是因为我没有正确配置我的模块,或者没有配置图标文件夹。我尝试将图标目录标记为资源根目录,但仍然没有区别。

squares[CurrentBoard.board.get(i).x][CurrentBoard.board.get(i).y].setIcon(new ImageIcon(CurrentBoard.board.get(i).filename));

我将文件名定义为对象的数据成员,它指定了 png 图像的路径。 例如图标/Knight_black.png

我确信这条线^ 工作正常,因为它在我的另一台机器上工作。但它不是从 dir 图标中获取图像,但是程序可以正常工作,没有错误。

【问题讨论】:

  • 如果文件在项目目录中,您应该相对而不是绝对引用。你有什么例外吗?
  • @mavriksc icons/" ".png 是相对地址,我已经通过直接从文件的 intelliJ 复制相对地址来确认这一点。不,没有例外
  • 你能展示你的项目文件结构吗?
  • @EugenCovaci 我添加了一张图片,图标目录包含 Knight_black.png 等文件。但我相信这不是真正的路径问题,因为路径在我的原始机器上工作正常,它只是当我从 git 新导入这个项目时遇到问题
  • 请发布CurrentBoard.board.get(i).filename

标签: java intellij-idea jar module


【解决方案1】:

浏览后我遇到了一个解决方案,在该解决方案中,建议我在 src 中使用“资源”文件夹,而不是访问文件。因此,将我所有的 png 复制到资源文件夹并将代码更改为:

.....new ImageIcon(getClass().getResource(CurrentBoard.board.get(i).filename)));

效果很好..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 2016-12-28
    • 2020-04-26
    相关资源
    最近更新 更多