在特定路径上将图片添加到Java GUI

时间:2012-03-01 15:21:59

标签: java user-interface directory src

我需要在代码中添加3张图片。 目前这3张图片不在SRC文件夹中,但在它之外 - 我正在说话 关于Eclipse Project。

这是我的代码:

Image myImage = new Image(null, "treasure1.jpg");

while (iterator.hasNext())
{

    String current = iterator.next();   // get an original room in the maze
    Coordinate mazeDot = null;
    if (this.m_rooms.containsKey(current))   // if the string key exists 
        {
            mazeDot = this.m_rooms.get(current);  // get the coordinate of that specific room as two Ints
            e.gc.drawImage(myImage,mazeDot.getXCoordinate(),mazeDot.getYCoordinate());
        }                   
}

但我想将该图片(treasure1.jpg)放入我项目的src文件夹中。 我试过这段代码:

Image myImage = new Image(null, "src/treasure1.jpg");

但它不起作用,但编译后(我把图片放在src文件夹中)。 src是小写的。

任何想法有什么不对?

此致 罗恩

1 个答案:

答案 0 :(得分:2)

如果我理解正确,您的图像现在是包层次结构的一部分。因此,您应该可以使用以下代码段访问它:

Toolkit.getDefaultToolkit().getImage(getClass().getResource(path))

其中path是从您的类所在的包开始的图像的相对路径,或者是从根包开始的完整路径,即:

Relative: ressources/images/treasure1.jpg
Absolute: /org/you/ressources/images/treasure1.jpg

或者,如果您的图片与您的图片位于同一个包中,只需使用图片的名称即可。据我所知,您也可以使用ImageIO代替Toolkit。