Я пытаюсь загрузить изображение определенной игральной карты для игры, которую я создаю в JavaFX.
Я создал папку ресурсов в папке src/main/resources/png
, которая содержит PNG
изображений, имена которых соответствуют типу карты.Моя цель - получить доступ к этим изображениям для рендеринга в виде, основанном на названии карты из файла src/main/java/rummy/GUI.java
.
Моя структура файла выглядит следующим образом. дерево файлов
Я пробовал несколько вещей, основанных на некоторых других результатах, но ни одна из них не работает.
Вот то, что я имею сейчас, что приводит к Invalid URL or resource not found
private void drawHand(Pane canvas) {
ArrayList<Tile> tiles = game.getCurrentPlayer().getHand().toList();
for (Tile tile: tiles) {
ImageView tileImageView = drawTile(tile);
canvas.getChildren().addAll(tileImageView);
}
}
private ImageView drawTile(Tile tile) {
ImageView tileImageView = new ImageView();
Image image = new Image("../../resources/png/" + tile.toString() + ".png");
tileImageView.setImage(image);
return tileImageView;
}
Я также пробовал варианты ...
BufferedImage tileImage = ImageIO.read(this.getClass().getResource("/resources/png/" + tile.toString() + ".png"));
Image image = new Image("resources/png/" + tile.toString() + ".png");
Я не уверен, правильно ли я настроил папку resources
в качестве папки ресурсов или пропустил что-то еще, ноБуду очень признателен за помощь.