I'm trying to load an image from a file without using a FileChooser
.
The folders are:
TestProject
-src
--application
---(all_the_classes_i'm_using.java)
-assets
--drawIcon.png
I want to load the image in the assets folder. I've tried:
Image image = new Image("../assets/drawIcon.png")
Image image = new Image(getClass().getResourceAsStream("../assets/drawIcon.png"))
I've tried it with the string path "/TestProject/assets/drawIcon.png", but nothing. I don't understand how to load this image!
Resources such as images and FXML files can be loaded into a JavaFX application using Java code by invoking the getClass(). getResource(String location) method, passing in the location of the resource.
To create a fileIn the Project tool window, select the directory where you want to create a file, press Alt+Insert , and then select the desired language or file type. In the dialog that opens, type the name of the file without any extension.
Set the assets
directory as a resource directory and then load the image as a resource from the location "/drawIcon.png":
URL url = getClass().getResource("/drawIcon.png");
Image image = ImageIO.read(url);
In case you want to create a javafx Image:
Image image = new Image("/drawIcon.png");
In this case, also, mark that folder as resource folder.
More info here: https://docs.oracle.com/javafx/2/api/javafx/scene/image/Image.html
You can use getResource(path).toString(); the path must start with /, and it starts with the verry first package in your src folder.
Image img= new Image(getClass().getResource("/path/in/your/package/structure/icon.png").toString());
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With