...
JNLP has a showDocument like AppletContext, but it also requires a
URL. Is there any way to create a URL that points to a String in
memory instead of a file or a web page?
Short answer no, long anwser, nope.
But if the applet wraps the report up as the
*parameters* for an URL, a JS* on the receiving
web page could write out the report in a form
suitable for the browser to render it, and the user
to print it. There will be numerous problems
trying to 'save' such a report though.
I think your best (least effort) option is to
sign the applet, as Roedy suggested, then write
a temporary file containing the report. If your
users want these reports, they should be willing
to accept a trusted applet (especially if you
explain why the extended trust is required).
I saw a great applet that asked at start-up if
you wanted to trust it, initially I said no, so
it went ahead to prepare the visually interesting
parts of the applet, but had things like the 'Print'
and 'Save' buttons disabled - 'These are available
in the trusted version'.
* Noting that you are not running an active
server in some cases.