Die Trennung zwischen Darstellung des Fensters und der Verwaltung/Darstellung des Fensterinhaltes in zwei Klassen bietet die Möglichkeit den Darstellungsrahmen zu verändern, z.B. indem die Klasse HelloApp durch eine dritte Klasse HelloApplet ersetzt wird. Diese erzeugt kein Fenster (JFrame) sondern ein JApplet, das in HTML-Dokumente eingebunden werden kann und wieder den Rahmen für die eigentlichen GUI-Elemente bildet:
package HelloWorld; import java.awt.BorderLayout; // Importliste aller aus import javax.swing.UIManager; // AWT u. Swing-Komponenten import javax.swing.JApplet; // benoetigten Klassen public class HelloApplet extends JApplet { /** Diese Methode wird vom Broswer beim Start des Applets aufgerufen */ public void init() { try { // versuche Look & Feel so zu UIManager.setLookAndFeel( // setzen, dass es auf allen // Systemen gleich aussieht UIManager.getCrossPlatformLookAndFeelClassName()); } catch(Exception e) {}; // sonst verwende System L&F // Instanz der Klasse Hello // erzeugen und einfuegen getContentPane().add(new Hello(), BorderLayout.CENTER); } }
Beim Start des Applets wird die Methode init aufgerufen, in der zunächst wieder versucht wird, das typische Java Look-And-Feel einzustellen. Anschließend wird eine Instanz der Klasse Hello zum GUI-Bereich des Applets hinzugefügt. Da die Größe des Applets im zugehörigen HTML-Dokument festgelegt und die Sichtbarkeit vom HTML-Betrachtungsprogramm geregelt wird sind keine weiteren Angaben erforderlich. Es muß kein WindowListener implementiert werden, da das Applet kein Fenster ist und ihm die entsprechenden Schaltflächen fehlen, wie im folgenden Beispiel zu sehen: