2013-12-14 40 views
0

这是一个经典问题,但即使有堆栈溢出搜索,我也没有找到答案。 该问题涉及用相对路径检索图像。scala/java:带有相对路径的按钮图标

它有一个绝对路径,它的工作原理是here,您可以使用语句getClass.getResource(filename)和我的项目的目录结构来查看代码。 这与我认为在Java中是一样的。

Maven的结构:

src 
- main 
    - java 
    - lanceur.scala 
    - resources 
    - down_arrow.png 

代码:

btn_bas.icon= new ImagaeIcon(Fenetre.getClass() 
        .getResource("../resources/down_arrow.png")) 
+0

你的问题是什么?你能概述你的包和目录结构是怎样的吗?添加一个代码示例? –

+0

请不要使用截图代码 - 这是非常懒惰的。 – McDowell

+0

尝试'“/resources/down_arrow.png”'。领先的'/'传达'忽略包并从类路径的根目录'搜索。 –

回答

1

你的classpath的根既是的Java资源目录。在JAR中,它们下面没有任何东西。

尝试"/down_arrow.png"

+0

好的,它的工作原理!请注意除了这个语法之外,还有一个问题:我使用netbeans,其中_projects_被划分为_modules_;在我的项目中,我有两个模块,每个模块都有一个“Fenetre”类;所以找回Fenetre的路径导致错误的。 – lolveley