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=ECA331A6709F40B79DrealtutsGML's tuts:
http://www.youtube.com/watch?v=hXImR8Wm53Mthe java docs ofc
lots of other articles