Почему изображения в моем проекте IntelliJ IDEA доступны некоторым классам Java, а другим нет в JavaFX? - PullRequest
0 голосов
/ 09 апреля 2020

Я работаю над простой 2D-игрой в JavaFX, и я загрузил некоторые из своих ресурсов (просто кучу папок и изображений) в свой проект в их собственную директорию и пошел делать еще один класс Java для всех материал, который нужен игроку (движение, нажатие клавиши, загрузка активов игрока), и ни одно из изображений не загружается. Кто-нибудь знает почему? У меня есть код, который, как я знаю, вызывает проблему ниже.

class Player
{
    public Player() throws FileNotFoundException 
    {
        System.exit(-1);
    }

    Image leftSide = new Image(new FileInputStream("resources/player/leftNO.png");
    ImageView leftSideView = new ImageView(leftSide);
}

Мой каталог указан ниже:

  • .idea
  • out
  • resources
    • player
      • leftNO.png
      • rightNO.png
  • src
    • sample
      • Main. java
      • Player. java

Кто-нибудь знает, почему это это происходит? Заранее спасибо, даже если у вас нет ответа.

РЕДАКТИРОВАТЬ: Кроме того, я забыл упомянуть, что, когда я пытаюсь открыть изображение в классе Main. java, он загружается нормально.

1 Ответ

2 голосов
/ 09 апреля 2020

Когда вы говорите, что не загружается, вы имеете в виду, что оно выдает исключение или является пустым? В зависимости от того, что это может работать:

Отметьте каталог ресурсов как исходную папку и попробуйте

class Player
{
    public Player() throws FileNotFoundException 
    {
        System.exit(-1);
    }

    Image leftSide = new Image(getClass().getResourceAsStream("/player/leftNO.png");
    ImageView leftSideView = new ImageView(leftSide);
}

Это также позволит вашему приложению работать из jar

...