Recover from user clicking "Deny" on "requesting access to your computer" dialog from applet
===

I am running a self signed applet using the deployApplet.js library from Oracle. (Checking the generated html, it is using the `applet` tag - I am also using a JNLP file per the deployment tutorials from Oracle).

The problem occurs when the user is presented with the dialog requesting permission to access their computer. If they click Allow everything is fine. If they click Deny I get the following exception in the Java Console:

    ExitException[ 4]java.lang.RuntimeException: exit(-1)
    	at com.sun.javaws.Main.systemExit(Main.java:1316)
    	at com.sun.javaws.security.AppPolicy.grantUnrestrictedAccess(AppPolicy.java:283)
    	at com.sun.javaws.LaunchDownload.checkSignedResourcesHelper(LaunchDownload.java:1825)
    	at com.sun.javaws.LaunchDownload.checkSignedResources(LaunchDownload.java:1508)
    	at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(JNLP2Manager.java:1161)
    	at sun.plugin2.applet.JNLP2Manager.loadJarFiles(JNLP2Manager.java:473)
    	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Plugin2Manager.java:1495)
    	at java.lang.Thread.run(Thread.java:680)
    Exception: ExitException[ 4]java.lang.RuntimeException: exit(-1)
    java.lang.NullPointerException
    	at sun.plugin.util.ErrorPanel.deniedCertificateFailure(ErrorPanel.java:334)
    	at sun.plugin.util.ErrorPanel.<init>(ErrorPanel.java:61)
    	at sun.plugin.util.GrayBoxPanel.setError(GrayBoxPanel.java:104)
    	at sun.plugin.util.GrayBoxPainter.paintGrayBox(GrayBoxPainter.java:473)
    	at sun.plugin.util.GrayBoxPainter$4.run(GrayBoxPainter.java:411)
    	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:682)
    	at java.awt.EventQueue.access$000(EventQueue.java:85)
    	at java.awt.EventQueue$1.run(EventQueue.java:643)
    	at java.awt.EventQueue$1.run(EventQueue.java:641)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
    	at java.awt.EventQueue.dispatchEvent(EventQueue.java:652)
    	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
    	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
    	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
    	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
    	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)

The browser hangs after this and I need to manually kill the Java Applet process or restart the browser. Based on the stack trace and from doing some static initializer debug steps in my applet, it does not appear that any code in my applet gets executed before the exception is thrown.

Is there any way to recover gracefully when the user clicks Deny?