Dim img as image
img=fx.LoadImage(File.GetFileParent(FileImg), File.GetName(FileImg))
ItemImageIV.SetImage(img)
is NOT the same.
It seems that in #2 the img object replaces the IV's internal image object, #1 just loads the image into it. I had some trouble because the IV's image was not visible updating in some cases.
I was expecting the method .SetImage() just to load the given image and not the object Am I wrong here?
I think in both cases setImage loads and object, the difference is that in your second example you can reuse the same image (img) for another purpose. Javafx is well built and can reuse instances of the same object in multiple controls.