I made a java application and bundled all classes in a jar file. When I run the project from eclipse, my application is running successfully. But when I try to run my .jar
file, I am not getting the icons used by my application. In the code I get my icons from images directory present in project folder. How can I present these image files to the end user when using a jar?
I am loading the image like so:
final public ImageIcon iReport=new ImageIcon("images/Report.png");
I have also tried
final public ImageIcon iquit=new ImageIcon(getClass().getResource("images/quit.png"));
and
final public ImageIcon iquit=new ImageIcon(getClass().getResource("/images/quit.png"));
But this results in an error:
Exception in thread "main" java.lang.NullPointerException
at javax.swing.ImageIcon.<init>(Unknown Source)
Usually, you store your images in a resources folder. Here's an example from one of my projects. My images are stored in an images folder, which is included in the Java classpath. Save this answer.
Hold the shift key down while clicking on additional jars to add within the folder. This will allow you to select and add more than one at a time.
You need to get it from the classpath instead of from the local disk file system.
Assuming that images
is actually a package and that this package is inside the same JAR as the current class, then do so:
final public ImageIcon iReport =
new ImageIcon(getClass().getResource("/images/Report.png"));
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