You asked for feedback, and here it goes: I couldn't run your applet on my machine.

It's not my intent to attack the choice of Java, but I can't avoid noticing that Java applets as a web technology are getting seriously obsolete these days. It's a challenge to get these applets running.

JavaScript works way better on the web (I hate to say it, but beware the silly name: JS as a programming language has nothing to do with Java).

The traceback follows.

Exception was:
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. For more information click "more information button".
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:739)
at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:668)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:901)
Caused by: net.sourceforge.jnlp.LaunchException: The applet is signed but its manifest specifies Sandbox permissions. This is not yet supported. Try running the applet again, but choose the Sandbox run option.
at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:217)
at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:82)
at net.sourceforge.jnlp.runtime.JNLPClassLoader. (JNLPClassLoader.java:288)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:351)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:418)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:394)
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:704)
... 2 more
Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Run in Sandbox call performed too late. The classloader was notified to run the applet sandboxed, but security settings were already initialized.
at net.sourceforge.jnlp.runtime.JNLPClassLoader$SecurityDelegateImpl.setRunInSandbox(JNLPClassLoader.java:2386)
at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:214)
... 8 more
This is the list of exceptions that occurred launching your applet. Please note, those exceptions can originate from multiple applets. For a helpful bug report, be sure to run only one applet.
1) at 6/1/16 7:09 PM
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Run in Sandbox call performed too late. The classloader was notified to run the applet sandboxed, but security settings were already initialized.
at net.sourceforge.jnlp.runtime.JNLPClassLoader$SecurityDelegateImpl.setRunInSandbox(JNLPClassLoader.java:2386)
at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:214)
at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:82)
at net.sourceforge.jnlp.runtime.JNLPClassLoader. (JNLPClassLoader.java:288)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:351)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:418)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:394)
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:704)
at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:668)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:901)
2) at 6/1/16 7:09 PM
net.sourceforge.jnlp.LaunchException: The applet is signed but its manifest specifies Sandbox permissions. This is not yet supported. Try running the applet again, but choose the Sandbox run option.
at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:217)
at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:82)
at net.sourceforge.jnlp.runtime.JNLPClassLoader. (JNLPClassLoader.java:288)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:351)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:418)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:394)
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:704)
at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:668)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:901)
Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Run in Sandbox call performed too late. The classloader was notified to run the applet sandboxed, but security settings were already initialized.
at net.sourceforge.jnlp.runtime.JNLPClassLoader$SecurityDelegateImpl.setRunInSandbox(JNLPClassLoader.java:2386)
at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:214)
... 8 more
3) at 6/1/16 7:09 PM
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize applet. For more information click "more information button".
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:739)
at net.sourceforge.jnlp.Launcher.getApplet(Launcher.java:668)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:901)
Caused by: net.sourceforge.jnlp.LaunchException: The applet is signed but its manifest specifies Sandbox permissions. This is not yet supported. Try running the applet again, but choose the Sandbox run option.
at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:217)
at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkAll(ManifestAttributesChecker.java:82)
at net.sourceforge.jnlp.runtime.JNLPClassLoader. (JNLPClassLoader.java:288)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:351)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:418)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:394)
at net.sourceforge.jnlp.Launcher.createApplet(Launcher.java:704)
... 2 more
Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Run in Sandbox call performed too late. The classloader was notified to run the applet sandboxed, but security settings were already initialized.
at net.sourceforge.jnlp.runtime.JNLPClassLoader$SecurityDelegateImpl.setRunInSandbox(JNLPClassLoader.java:2386)
at net.sourceforge.jnlp.runtime.ManifestAttributesChecker.checkPermissionsAttribute(ManifestAttributesChecker.java:214)
... 8 more