In the FAQ for beginners, one question is "How do I deploy to an .exe". The answer suggests that you deploy using a .jar instead.
For Windows, I plan to look into JSmooth. I hope that it will let me build .exes for Windows like Jar-Builder lets me build .apps for Mac (see below):
For Mac, I believe that we should amend the answer in the FAQ to suggest using Jar-Bundler to create a Mac OS X .app for Mac. Then you can have a custom icon besides the generic coffee-cup icon of a .jar file -- but much more importantly, it allows you to include .jar libraries into your deployed application. I understand that you can put more than one .jar file together to deploy as a single .jar, but that it isn't easy. With Jar-Bundler, it is easy. I believe that many times the best deployment is to make the deployed software self-contained with the main jar -- my software -- and then all of the jar libraries that my jar uses, in one, self-contained executable (an .exe for Windows and a .app for Max OS X).