Switch between multiple Java version

Jun 9, 2025

This article follows this article at AskUbuntu. So basically I have a software for my Theory of Comp class, JFLAP. It runs on Java. But I use Linux for most of my work. On my current system, it is running OpenJDK 21. So when I ran this, it went like:

Exception in thread "main" java.awt.HeadlessException: 
No X11 DISPLAY variable was set,
or no headful library support was found,
but this program performed an operation which requires it,

        at java.desktop/java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:164)
        at java.desktop/java.awt.Window.<init>(Window.java:553)
        at java.desktop/java.awt.Frame.<init>(Frame.java:428)
        at java.desktop/javax.swing.JFrame.<init>(JFrame.java:224)
        at gui.action.NewAction$NewDialog.<init>(NewAction.java:123)
        at gui.action.NewAction.showNew(NewAction.java:87)
        at gui.Main.main(Main.java:122)

The above article showed me a way to change to an older version of OpenJDK, hopefully it runs better without error. There are 2 ways:

update-java-alternatives --list
then
sudo update-java-alternatives --set /path/to/java/version

OR to have more user interaction:

sudo update-alternatives --config java

Whichever way I choose, it works. No more error.