In meinem Informatik-Kurs wurde Java programmiert mit dem Java-Editor von G. Röhner.
Leider werden seit 2014  aus Sicherheitsgründen die „selbstgestrickten” Applets ohne Zertifizierung nicht mehr angezeigt. Deshalb gibt es bei mir nun Java Applications, die in *.jar Archive gepackt sind. Firefox, Chrome und Edge laden sie nur herunter.
Um sie auszuführen, muss in jedem Fall JRE oder OPENJdk 11 --oder höher z. B. 19--(Java-Developmentkit ) installiert sein! Auch mit dem jPortable Launcher in PortableApps kann man die Jar-Dateien ausführen! 
Und wie geht's mit Linux Mint oder MX-Linux? Prima! Da ist das OPNJDK 11 schon drin.
In Ubuntu: Im Terminalfenster
'sudo apt install openjdk-19-jdk' eingeben.
Dann meine jar-Dateien mit Firefox runterladen, in den Downloadordner gehen, bei MINT oder MX-Linux mit der rechten Maustaste auf die jar-Datei gehen, in "Eigenschaften/Zugriffsrechte" ein Häkchen bei "Datei als Programm ausführen" setzen oder Terminalfenster öffnen und j
ava -jar Programmname.jar eingeben. Letzteres ist bei UBUNTU nur zielführend. Die haben eine Sicherheitsphobie!

 Pythagorasbaum
 Juliaapplet
 Apfelmännchen (nicht von mir!)
 Igel-Grafik 
  Rekursive Kurven
 Rekursiver Baum
 Herz-Ornament
 Wackelspirale
 Drehecke
 Dreh-Ornamente
 
 Polarkoordinatenfiguren
 N-Eck
 
 Haus des Nikolaus
 Acht-Damen-Problem
 Solitaire
 Springertour
 Sieb des Eratosthenes
 Lindenmayer-System
 
Krümelmonster

Euklids Spiel
Labyrinth

Römische Zahlen
Sortieren
Triell
Pi-Berechnung
Tetris (nicht von mir!)
Streichholz-NIM
Aliquot
Fan-Tan
Die wandernden Steine
Mastermind
Lotto
Gedankenleser (nicht in Linux)
Kalenderprogramm 

Türme von Hanoi
Zahlraten mit Karten

Vigenére-Verfahren
Cäsar-Verschlüsselung
Unicode(nicht von mir!) 
Logisim (Archiv-Download)

Zum Üben mit dem Java-Editor:
So geht Grafik-Programmierung leicht
!
Mit Jar gepackter
Sourcecode zum Programm N-Eck (das Laden mit dem Java-Editor entpackt auch!).
Eine GrafikPanel-Fensterklasse wird mit rechtem Mausklick auf den JPanel-Button im sich öffnenden Fenster markiert und dann im Hauptframe aufgezogen.
Der Change-Listener des JSpinner übergibt den Eckenanzahl-Parameter und veranlaßt Neuzeichnen.
So läßt sich jede Grafik in einem separaten Unterframe anzeigen.

Hier noch einige Tips zur aktuellen Java-Situation.

Zum Selberlernen (das findet man in www.highscore.de):