// Das folgende Programm soll ein Fenster öffnen, // und den Fensterinhalt bei Bedarf neu zeichnen! // Hierzu wird die Klasse "Applet" verwendet, die // automatische Funktionen besitzt, die zu bestimmten // Zeitpunkten aufgerufen werden. // Importiere alle Grafik-Klassen (Graphics, Frame, ...) // aus der java.awt-Bibliothek. import java.awt.*; import java.applet.Applet; // Für "extends Applet" import java.awt.event.*; // Für WindowListener & Co. public class Ein_Fenster_mit_Applet extends Applet { // Funktion aus der Applet-Klasse // und wird immer dann aufgerufen, // wen der Fensterinhalt neu // gezeichnet werden muss. // Der Grafik-Context "Graphics g" wird // automatisch aus der übergeordneten Klasse // zugewiesen! public void paint(Graphics g){ g.drawOval(1, 1, 398, 398); g.fillOval(200-100, 180-40, 40, 20); g.fillOval(200+ 60, 180-40, 40, 20); g.drawLine(200,160,200,260); g.drawArc(80, 220, 240, 90, 360-90-60, 120); } public static void main(String[] args) { Frame f = new Frame("Fenstertitel"); f.setSize(400,400); f.setVisible(true); // add(Object o) fügt ein Element hinzu // Hier wird ein Applet erzeugt, und mit // dem Fenster verbunden. Applet applet = new Ein_Fenster_mit_Applet(); f.add(applet); // Wenn wir jetzt das Fenster vergrößern // oder verkleinern, wird automatisch // paint() aus dem Applet aufgerufen, // d.h. das Gesicht wird neu gezeichnet. // Und wieder eine Funktion zum Schließen // falls der "Schließen"-Button geklickt wird. WindowListener w = new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.out.println("Close!"); System.exit(0); // Einfach Programm beenden // Die Zahl als Parameter ist der // "Fehlercode" des Betriebssystems // 0 bedeutet: Fehlerfrei beendet. } }; f.addWindowListener(w); // Und eine Funktion zum Schließen // falls in das Applet geklickt wird. MouseListener m = new MouseAdapter(){ public void mouseClicked(MouseEvent e){ System.out.println("Klick!"); System.exit(0); // Einfach Programm beenden // Die Zahl als Parameter ist der // "Fehlercode" des Betriebssystems // 0 bedeutet: Fehlerfrei beendet. } }; applet.addMouseListener(m); } }