I am still struggling with the best way of using images in Java Game design.
Do you use ImageIcon or BufferedImage? Or Both? Don't mix AWT and SWING is the golden rule I have found. ImageIcon is in the SWING library and BufferedImage is in AWT.
When every resource, whether it be new/old/magazine/book/article uses one or the other, it's very hard to figure out what is the "proper" course of action.
I have many resources and have performed a lot of searches:
Killer Game Programming in Java by Andrew Davison, which is outdated but still useful
thenewboston's tuts: http://www.youtube.com/watch?v=hBhAWTSu104&list=ECA331A6709F40B79D
realtutsGML's tuts: http://www.youtube.com/watch?v=hXImR8Wm53M
the java docs ofc
lots of other articles