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: