Stroke order counts!
Dictionary data comes from CEDICT.
Please see its license, included in its readme.
jar file Includes source and is runnable both stand-alone and as an applet.
You may also be interested in a Java Pinyin input method that I am(was?) working on. You can find it here.
back (includes other info about the project)