I'm sorry, but I don't understand the confusion on this thread. Here's my rendition of why you're having problems.
Java is indeed a completely platform neutral technology. What you aer having problems with is the invocation of the java interpreter. The one hurdle that java didn't overcome (and could never, really) is that different platforms have different methods of starting up programs and of starting programs from their repective "finders."
A perfect example of this is OS X's methods for identifying executable programs from the finder. ANY GUI program in OS X has to have certain elements in its .app folder in order to be launchable as an application from the finder. There are ways around this (like creating a unix shell script to launch a pure Java program).
In addition, OS X handles java very well, but it also extends it with additions to help it integrate into the OS better. The end result is that OS X java programs aren't truely "native java" programs. This is a minor inconvenience as the differences in the code base between OS X, Unix and Windows "platform native" java programs (ie. double clickable) is negligable.
OS X's overhead for making a platform native java program is daunting the first time you try it. But once you get your head around it, its really not that bad. Look at Apple's Java documentation that comes with the developer tools. It should have examples and all of your answers.
This will show you how to make any pure java Jar file into a double clickable app in OS X.
Developer/Documentation/Java/pdf/MacOSXJava.pdf
This will show you how to create a completely Cocoa Java application:
Developer/Documentation/Cocoa/JavaTutorial/index.html
Taft