1. Firstly is there any way to tell the app which Browser launched the Java Web Start .jnlp file?
Don't think so. You don't need a broswer to launch a Java Web Start app, so I don't think there is any out-the-box method of doing this. Even if there were, I'm not sure how it would help solve your issue.
2. How can you launch Firefox or IE from a Java app? Is there any API available?
Runtime.exec(). Presuming you know where the user has installed their browser. And which browser it is.
3. Preferably I do not want to save the html file to disk. Can it be passed directly from the Java app to the Browser?
You can't use a browser to open a file that doesn't exist. Lots of Swing components render HTML though - could you not just use a one of them in your app? [ January 25, 2007: Message edited by: Paul Sturrock ]
One note with runtime exec ... on Windows you can "execute" an HTML file and launch the default browser. Open a command window and type the name of an existing HTML file like a command to see it work. There are many examples using RUNDLL32 to launch a file like this:
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus