Pues me temo que es la unica forma de hacerlo con un JAR
Como mencionaron antes depende del sistema no mas, a menos que embutas tu jar en un ejecutable y al ejecutable le cambies el icono esa es una buena opción
Saludos
Exacto, mira sobre
Launch4J, haciendolo asi tendrias que producir un ejecutable para cada plataforma, ya no podrias distribuir tu aplicacion con un solo ejecutable.
Launch4J mete tu JAR en un exe, por lo tanto solo se podra ejecutar en Windows.