I really need to take the images through URLs and not by storing it in the application, otherwise it will make an application with too much storage volume which will be exhausted on the computer.
If this is some kind of requirement from a school assignment, that's fine, you have to follow it. But if it's not, I strongly recommend you reconsider. Images are very, very small compared to the amount of storage modern computers have. You can even store videos and music in Java resources (and have to, for applications like video games) without a problem. In fact, downloading from online is really inefficient because not only does that image get stored in memory anyways, it'll have to get downloaded from the Internet, which means establishing a connection, streaming the data over that connection, etc. I don't see a strong reason to do this for this use case.
Now for debugging - try to narrow down the problem
- Do other images show and just this one does not show?
- Does it throw an exception or simply display nothing?
- Try analyzing the ImageView in the Debugger. Does the internal Image show up there, is it an empty image, does it have some invalid state? Is the size all zero or something like that?