What is the difference between Image.setIcon() and Image.setSource() ?

What is the differece between these two methods for an image component? It seems both of them can set a image.

setIcon() is a method inherited from AbstractComponent, and the setSource() is implemented by Image itself. And these implementations are distinct. So these are different. So yes, you can have icon set for Image as well, although it is a bit funny.