The *.exe file is only machine language for dos/windows and can only run there. But Java runs on all operating systems, so it's using an intermediate code (which will be processed by the JVM and JIT). In the old days we used Symantec Visual Cafe to compile Java programs directly in machine language (.exe) or used MS Visual J++, but gladly these days are over, you don't need to do it anymore! JIT-compilers are so fast nowadays that portability is more important.
To distibute or run your java program as only one file, you don't need an *.exe. You can make a single *.jar file from all your classes.
So you can double-click the *.jar and it runs like an *.exe (if you have not modified the file associations, for example to open it with WinZip)!
To run it in this case, just create an icon (or a *.bat text file) with the command inside
Or more precisely, and also if you do not like console window (you wrote that your program already has a frame):
- C:\Programs\myJavaInstallationFolder\bin\javaw.exe -jar "C:\Programs\myAppFolder\myApp.jar"