/**************************************************/ /* Prof. Dr. Carsten Vogt */ /* FH Koeln, Fak. 07 / Nachrichtentechnik */ /* http://www.nt.fh-koeln.de/vogt */ /* */ /* Das Applet nimmt Clicks über Buttons entgegen */ /* und generiert eine entsprechende Textausgabe. */ /* Es basiert auf Swing. */ /**************************************************/ import java.awt.*; import javax.swing.*; import java.awt.event.*; class EventHandler implements ActionListener { /* zur Reaktion auf die Clicks */ ButtonApplet zugehApplet; /* zugehöriges Applet */ EventHandler(ButtonApplet a) { zugehApplet = a; } public void actionPerformed(ActionEvent e) { String s = e.getActionCommand(); if ("Eins".equals(s)) zugehApplet.tf.setText("Button 1"); if ("Zwei".equals(s)) zugehApplet.tf.setText("Button 2"); if ("Drei".equals(s)) zugehApplet.tf.setText("Button 3"); } } public class ButtonApplet extends JApplet { /* Der Browser erzeugt beim Aufruf automatisch ein Applet dieser Klasse. */ JTextField tf; /* init() wird bei Objekterzeugung, also genau einmal, ausgeführt. Es erzeugt hier die Applet-Oberfläche. */ public void init() { JButton b1 = new JButton("Eins"), b2 = new JButton("Zwei"), b3 = new JButton("Drei"); EventHandler listener = new EventHandler(this); setBackground(Color.orange); b1.addActionListener(listener); b2.addActionListener(listener); b3.addActionListener(listener); Box hbox1 = Box.createHorizontalBox(); Box hbox2 = Box.createHorizontalBox(); Box vbox = Box.createVerticalBox(); hbox1.add(b1); hbox1.add(b2); hbox1.add(b3); tf = new JTextField(); tf.setText("kein Button"); hbox2.add(tf); vbox.add(hbox1); vbox.add(hbox2); getContentPane().add(vbox); setSize(200,100); getContentPane().setVisible(true); System.out.println("Applet initialisiert"); } /* Die nachfolgenden Methoden sind hier leer, können aber bei Bedarf definiert werden. */ /* start() wird nach Erzeugung des Applets aufgerufen, um es zu starten; kann später nochmals beliebig oft aufgerufen werden. */ public void start() { System.out.println("Applet gestartet"); } /* stop() wird beim Stoppen der Ausführung des Applets aufgerufen; Applet kann spaeter erneut gestartet werden. */ public void stop() { System.out.println("Applet gestoppt"); } /* destroy() wird beim Löschen des Applets aufgerufen. */ public void destroy() { System.out.println("Applet geloescht"); } /* paint() dient zur Aktualisierung der Ausgabe. */ public void paint(Graphics g) { System.out.println("Applet paint() ausgefuehrt"); } }