I have just done this by using launch4j and Inno Setup.
Use launch4j to create exe file that wraps all files for the project such as .class file, jars for libraries, jre, etc. everything that makes your project to an app.
After use launch4j to build exe, you can use Inno Setup to build an installer exe so the users can download the installer posted by you somewhere such as your web site. The users run the installer downloaded to install your application to their machines.
By the way, I am glad to share my experience of struggling after created installer through Inno Setup. I got complaining of missing jre bundle when testing running the installer to install the app into machines. I solved the issue by the path of launch4j and jre. This is my path:
launch4j,
bin/jre
resourceds/bin/jre
Set launch4j, bin, and resources on same level.