After deprecation in Java 9, Java applets have been phased out by both Oracle and all the web browser makers. Also, Java Web Start was deprecated in Java 9, then phased out in Java 11.
I see a few options for your migration.
Older JVMs with AppletViewer
You could stick with Java 8. It comes bundled with the appletviewer tool to run applets without any web browser.
OpenWebStart
Oracle has phased out Java Web Start. See the 2020-05 white paper, Java Client Roadmap Update.
However, the technology lives on. An alternative open-source implementation is ongoing: OpenWebStart.
Swing
Your applet was likely written using the Swing GUI framework. If so, it is trivially simple work to make that applet into a standalone Swing app.
Once you have it working as a Swing app, you can then bundle a JVM using jlink tooling. And then package as a double-clickable app using jpackage tooling.
If you want to go even further, you could step out to the bleeding edge of technology: Use GraalVM technology to build a native app.
Vaadin Flow
Yet another approach is to rewrite your app as a web app.
By way of the Vaadin Flow framework, you can rebuild each screen’s Swing layout manager containing event-driven widgets into a Vaadin Flow screen using similar layout managers and similar event-driven widgets. Though not a one-to-one replacement, the basic concepts are similar between Swing and Vaadin Flow. So a rewrite is not as daunting as you might think.
You write a Vaadin Flow app using pure Java, and perhaps a sprinkling of CSS for optional styling. You then deploy to a Jakarta Servlet container where the app is served out to web browsers. The user-interface in the browser is automagically generated using only standard Web technologies (HTML, CSS, JavaScript, Web Push, etc.) — no Java on the client-side.
With Vaadin Flow, you can leverage all your Java knowledge while having to learn little to nothing about the Web technologies.
- 347.6k
- 130
- 951
- 1.3k