16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

Reaktionen auf die Betätigung von Schaltflächen (JDK 1.0). Die Komponenten<br />

<strong>in</strong>nerhalb <strong>de</strong>r AWT-Oberfläche besitzen e<strong>in</strong>e action()-Metho<strong>de</strong>, die aufgerufen<br />

wird, wenn bei e<strong>in</strong>er Komponente e<strong>in</strong>e Aktion ausgführt wur<strong>de</strong>. Beim Betätigen<br />

(Auslösen) e<strong>in</strong>er Schaltfläche wird die action()-Metho<strong>de</strong> aufgerufen. Die<br />

action()-Metho<strong>de</strong> gehört zu <strong>de</strong>n Ereignisbehandlungsmetho<strong>de</strong>n <strong>de</strong>s Event<br />

Handl<strong>in</strong>g. Die Syntax <strong>de</strong>r action()-Metho<strong>de</strong> ist bei allen Komponenten i<strong>de</strong>ntisch:<br />

public boolean action(Event ereignis, Object welcheAktion).<br />

Ereignis: Ereignis, das bei <strong>de</strong>r Komponente aufgetreten ist<br />

welcheAktion: steht für das, was geschehen ist<br />

Bei Schaltflächen ist die Art <strong>de</strong>r Aktion (welcheAktion) ganz e<strong>in</strong>fach über das Label<br />

(Beschriftung) <strong>de</strong>r Schaltfläche auszuwerten, die ausgelöst wur<strong>de</strong>. Der „Event“-<br />

Parameter enthält spezifische Informationen über die Aktion, z.B.:<br />

event.target (Komponente, bei <strong>de</strong>r die Aktion e<strong>in</strong>getreten ist)<br />

event.when (Zeitpunkt, zu <strong>de</strong>m die Aktion geschehen ist)<br />

Mit <strong>de</strong>m <strong>in</strong>stanceof-Operator kann die event.target-Variable überprüft wer<strong>de</strong>n,<br />

ob die Aktion auch für das Objekt erfolgt, das gewünscht wird.<br />

Bsp.: Setzen von H<strong>in</strong>tergrundfarben nach verschie<strong>de</strong>nen Buttonklicks 272<br />

import java.awt.*;<br />

public class KnopfAktApplet extends java.applet.Applet<br />

{<br />

public void <strong>in</strong>it()<br />

{<br />

setBackground(Color.white); this.setLayout(new Bor<strong>de</strong>rLayout(15,15));<br />

Panel p = new Panel();<br />

p.setLayout(new FlowLayout(FlowLayout.CENTER,15,15));<br />

p.add(new Button("Rot")); p.add(new Button("Blau"));<br />

p.add(new Button("Gruen")); p.add(new Button("Gelb"));<br />

p.add(new Button("Schwarz")); this.add("South",p);<br />

}<br />

public boolean action(Event e, Object arg)<br />

{<br />

// Test auf Schaltflaechenaktion<br />

if (e.target <strong>in</strong>stanceof Button) aen<strong>de</strong>reFarbe((Str<strong>in</strong>g) arg);<br />

return true;<br />

}<br />

void aen<strong>de</strong>reFarbe(Str<strong>in</strong>g knopfName)<br />

{<br />

// Aen<strong>de</strong>rn <strong>de</strong>r H<strong>in</strong>tergrundfarbe<br />

if (knopfName.equals("Rot"))<br />

setBackground(Color.red);<br />

else if (knopfName.equals("Blau")) setBackground(Color.blue);<br />

else if (knopfName.equals("Gruen")) setBackground(Color.green);<br />

else if (knopfName.equals("Gelb")) setBackground(Color.yellow);<br />

else if (knopfName.equals("Schwarz")) setBackground(Color.black);<br />

else;<br />

}<br />

}<br />

272 vgl. pr52105<br />

314

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!