Die Klasse SuperHirn
Die Klasse SuperHirn.class erbt von JApplet. Es handelt sich folglich um ein Java-Applet. Jedoch wurde die Klasse so implementiert, das sie auch als Applikation mit dem Java-Interpreter gestartet werden kann. Dies wurde durch Einfügen der main-Methode ermöglicht, die ein Objekt der Klasse JFrame erzeugt, und anschließend das Applet im Fenster anzeigt.
Allerdings ist der "Programm beenden" Button im Applet-Modus ohne Funktion und sollte auch nicht benutzt werden, da es ja bekanntlich nicht möglich ist ein Applet zu beenden. Somit ist auch ein "System Exit" Befehl, der das Verlassen des Programms bewirkt, hier nicht möglich. Das Applet könnte nur gestoppt werden, allerdings erscheint es in diesem Fall als wenig sinnvoll.
Die Grafikoberfläche
Die Grafikoberfläche der SuperHirn Klasse wurde mit dem JDK-1.2 erstellt, welches eine große Anzahl von neuen Oberflächenelementen, den Swing-Klassen enthält. Diese bauen zwar auf dem AWT auf, besitzen allerdings nicht wie bei den AWT-Klassen zuvor, eine zugehörige Peer-Klasse. Dabei hängt das Aussehen der Elemente nun nicht mehr zwangsläufig vom darunter liegenden Betriebssystem ab, sondern kann vom Programmierer gewählt werden.
Viele Programmierer halten speziell das AWT für nicht umfangreich genug. Das Paket muß praktisch den Spagat zwischen Plattformunabhängigkeit und Funktionalität bewältigen. Deshalb sind die in ihm enthaltenen Klassen ein gemeinsamer Nenner der verschiedenen Fenstersysteme. Im JDK-1.2 hat der Programmierer mit dem Swing-Paket nun eine große Auswahl.
Die Java-Swing-Klassen enthalten diverse Vorteile zu den herkömmlichen AWT-Klassen:
Die Wahl der Programmiersprache Java ist zum einen sicherlich mit der Applet-Funktionalität und somit der Nutzung im WWW zu begründen. Jedoch wurde Java auch aufgrund seiner Vorzüge in Portierbarkeit auf alle Plattformen und dem besseren Benutzerkomfort bei der Bedienung des Programms sowie der freieren Möglichkeiten in der Programmgestaltung gewählt. Eine andere Programmiersparche wie beispielsweise C++ bietet hier nicht annähernd die gleichen Möglichkeiten.
Auch der häufig an Java gestellte Vorwurf von mangelnder Geschwindigkeit und damit verbunden verlorengehender Performance wirkt sich hier in keinster Weise aus.