Неверный URL JavaFX или ресурс не найден - PullRequest
1 голос
/ 14 апреля 2020

У меня возникли проблемы с включением изображений в мой проект JavaFX. Проект хранит ресурсы в папке src / main / resources и содержит документы F XML и все изображения. Документы F XML загружаются просто отлично, но все местоположения изображений отображаются нулевыми.

Мой код выглядит следующим образом ...

package VennDiagram;


import java.io.File;
import javax.imageio.ImageIO;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.image.Image;
import javafx.stage.Stage;

public class View extends Application{
    public static Stage primaryStage;
    public static Scene promptWindow;
    public static Scene refactor;
    public static Scene scene;

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage stage) throws Exception{

        System.out.println(getClass().getResource("/views/View.fxml"));
        System.out.println(getClass().getResource("/views/openingPage.fxml"));
        System.out.println(getClass().getClassLoader().getResource("/views/openingPage.css"));
        primaryStage = stage;
        System.out.println(getClass().getResourceAsStream("/views/newFileButton.png"));
        Parent root = FXMLLoader.load(getClass().getResource("/views/View.fxml"));
        Parent root2 = FXMLLoader.load(getClass().getResource("/views/openingPage.fxml"));

        scene = new Scene(root);
        promptWindow = new Scene(root2,1020,580);
        primaryStage.setOnCloseRequest(event ->{
            quitProgramAlert.display("Confirm Exit", "Are you sure you want to exit?");
            if(!quitProgramAlert.closePressed) {
                event.consume();
            }       
        });

        primaryStage.setMinHeight(600);
        primaryStage.setMinWidth(750);
        primaryStage.setTitle("VennDiagram Creator");
        primaryStage.setScene(promptWindow);
        primaryStage.setResizable(false);
        primaryStage.show();
    }
}

Это дает мне ошибку, говоря, что ресурс не может быть найден.

Дополнительные детали: Проект построен с использованием gradle. Я загружаю свои файлы F XML, используя тот же метод, что и для изображений. Он отлично работает с документами F XML.

РЕДАКТИРОВАТЬ: структура проекта показана ниже ... Project Structure

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...