You can also use Launch4j
to wrap a runnable jar file into a Windows executable. Launch4j has support for embedding a JRE.
Only including java.exe will not work, by the way, since the java runtime environment requires many other files to function. Take a look at the JRE installation on your computer (e.g. c:\program files\java\jre7 or something), it will be over 100MB in size. You van reduce the size of the Oracle JRE (which is by the way perfectly legal to redistribute along with your app) by leaving out some files and doing other tricks. There's a good answer on StackOverflow
on how to do this. Still, expect a somewhat sizeable installation file, although that is hardly a problem these days.
Personally I use Excelsior JET
, that integrates its own virtual machine into the compiled executable, but that is somewhat expensive for indie developers (I got it in a charity deal). I like this one because it lets me reduce the size of the resulting executable further than most other approaches (say to under 10MB including runtime), and its pretty easy to use and maintain.