gcj is a branch of gcc and can actually compile java source or byte-code to native and is free.
only problem is that it doesnt support AWT+Swing yet but once it does....
SWT (standard widget toolkit) is a api which is a bit like awt and allows you to do windowed stuff. its a bit closer to the system then awt. its made by the eclipse people (
www.eclipse.org).
you can compile the swt-jars with gcj and and use it to make fully native windowed apps. (there should be a tutorial for this somwhere on the gcj site)