This related questionrelated question recommends using launch4j.
Based on 3 Ring's code page, it looks like they use getdown for Spiral Knights.
You might consider reaching out to Puppy Games to see if they're willing to share any insights. Similarly, there are some devs on java-gaming.org that have some experience with this.