Here is a small example project to create Java Native Interface (JNI) .dll library using Borland Delphi. Now that Borland has a decent priced Turbo Delphi package, and free version for hobbyist its time to use one of the best win32 development tool.
http://koti.mbnet.fi/akini/java/jni/
http://www.turboexplorer.com/
Example project shows how properly use WideString (native unicode) and Java’s internal unicode strings back and fort. This way you won’t lose 100% i18n support even that some code jumps to the native side.
A bonus example uses SimpleClass.java class, instantiates it at Delphi side, calls few “setter” methods and return an instance as a function return back to the Java.