Добавить изображение в Java GUI по определенному пути - PullRequest
0 голосов
/ 01 марта 2012

Мне нужно добавить 3 картинки в мой код. На данный момент эти 3 картинки находятся не в папке SRC, а за ее пределами - я говорю о проекте Eclipse.

Вот мой код:

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 Ответ

2 голосов
/ 01 марта 2012

Если я правильно понимаю, ваше изображение теперь является частью вашей иерархии пакетов.Таким образом, вы сможете получить к нему доступ, используя следующий фрагмент:

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

, где путь - это либо относительный путь к вашему изображению из пакета, в котором находится ваш класс, либо полный путь, начинающийся с корняпакет, то есть:

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

Или, если ваше изображение находится в том же пакете, что и ваш класс, просто используйте имя изображения.Насколько я знаю, вы также можете использовать ImageIO вместо Toolkit.

...