import java.awt.*; // Grafikfunktionen und GUI-Elemente import java.awt.event.*; // Ereignisse import java.applet.*; // Applet-Klasse // Die Klasse soll standalone und als Applet funktionieren // ActionListener soll die Funktion zum Abfragen einer // Betätigung zur Verfügung stellen public class GUI_Button extends Applet implements ActionListener { // showGUI() wird später definiert, und enthält die GUI-Elemente, // die wahlweise in main() oder init() verwendet werden // init() wird aufgerufen, wenn das Programm als Applet läuft public void init(){ showGUI(); } // main() wird bei Standalone-Betrieb aufgerufen, und muss erst mal // ein Fenster öffnen. public static void main(String[] args){ Frame frame = new Frame("GUI in Java"); // Fenster-Objekt frame.setSize(800,600); // Applet-Contect erzeugen, damit die Applet-Funktionen // ebenfalls in der Standalone-Version aufgerufen werden können GUI_Button applet = new GUI_Button(); // ist ein Applet! frame.add(applet); // applet ins Fenster setzen // Wir möchten das Fenster schließen können frame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){System.exit(0);} }); // Jetzt sind wird da angekommen, wo wir mit Browser und Applet auch wären. applet.init(); // Init aufrufen aus dem Applet applet.start(); // Applet starten, damit es losläuft frame.setVisible(true); // Ab jetzt sichtbar } public void showGUI(){ Button button = new Button("Klick!"); button.addActionListener(this); add(button); } // Wird ausgeführt, wenn ein Element betätigt wurde public void actionPerformed(ActionEvent e){ printText(e.toString(), 350); } // Zeichne Text an die Position y im Fenster public void printText(String text, int ypos){ Graphics g = getGraphics(); g.clearRect(10,ypos-40,780,80); // Alten Text löschen g.drawString(text, 10, ypos); } }