Check out the
JDIC (Java Desktop Integration Components) project - especially the FileExplorer example and the org.jdesktop.jdic.filetypes package. This won't go as far as launching the associated application - you'd have to do that, much as you do now - but at least it would provide a framework for this type of thing.
You may also want to look into
SWT - I know that it provides some ActiveX/OLE integration for Windows.
[ June 19, 2006: Message edited by: Nathan Pruett ]