Re: using J/Direct for API
Java is platform independent. Trying to use the API from it is misguided.
J/Direct was created by Microsoft specifically for Visual J++, their crippled JVM. This product is no longer under development - in fact, Sun's won some case against MS so they can't develop it any further. J/Direct is not available for any other JDK.
The only way to use the WinAPI from Java is to wrap it all in JNI classes written in C or C++. Such wrappers exist in SWT, the Standard Widget Toolkit, developed by the Eclipse project. However, they are part of the internal code and not meant to be used directly. (They also wrap only the minimal subset of the API they need, so you'll probably find a lot of stuff missing.)
Bottom line: don't use the WinAPI from Java. Use Swing or SWT for windowing, and use a different language if you want API access.