I have been able to change the runtime icon using this example like this
getFrame().setIconImage(Toolkit.getDefaultToolkit().getImage(getClass() .getClassLoa
A launch wrapper is the solution, I use launch4j, a cross platform lightweight wrapper
launch4j website