16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

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

5.5 Die Event-Mo<strong>de</strong>lle 1.0 und 1.1<br />

5.5.1 Der AWT-Handler 1.0<br />

Die Metho<strong>de</strong> handleEvent<br />

Die handleEvent()-Metho<strong>de</strong> 280 ist unter <strong>de</strong>m AWT-Event-Handler die allgeme<strong>in</strong>ste<br />

Art, wie das AWT auf irgendwelche Ereignisse e<strong>in</strong>geht, die auf <strong>de</strong>r<br />

Benutzeroberfläche stattf<strong>in</strong><strong>de</strong>n. Ereignisse wer<strong>de</strong>n <strong>in</strong>nerhalb <strong>de</strong>r handleEvent()-<br />

Metho<strong>de</strong> <strong>in</strong>terpretiert und dann gezielt passen<strong>de</strong> Metho<strong>de</strong>n aufgerufen. Damit die<br />

handleEvent()-Funktion nicht zu groß und unübersichtlich wird, ruft<br />

handleEvent() mehrere Hilfsfunktionen (mouseEnter, keydown, action, ... )<br />

auf, die die jeweils zugeordneten Events bearbeiten. Die Verarbeitung von<br />

Ereignissen stützt sich auf die Klasse Event. Die Instanzvariable „id“ <strong>de</strong>r Klasse<br />

Event enthält die Art <strong>de</strong>s Ereignisses und liefert alle notwendigen Informationen. Das<br />

Attribut „target“ enthält die Information, welches Objekt das Ereignis ausgelöst hat.<br />

Bsp.: Darstellung e<strong>in</strong>er Datei im Textbereich e<strong>in</strong>es Fensters (Frame)<br />

import java.awt.*;<br />

import java.io.*;<br />

public class DateiDarsteller extends Frame<br />

{<br />

// Instanzvariable<br />

Str<strong>in</strong>g dateiName;<br />

// Konstruktoren<br />

public DateiDarsteller() throws IOException<br />

{<br />

super("Dateidarsteller ");<br />

MenuBar menue = new MenuBar();<br />

Menu m = new Menu("Datei");<br />

m.add(new MenuItem("Oeffnen"));<br />

m.add(new MenuItem("Schliessen"));<br />

menue.add(m);<br />

// Installiere diesen Menuebalken<br />

setMenuBar(menue);<br />

this.show();<br />

}<br />

// Metho<strong>de</strong>n<br />

public void dateiDarstellen() throws IOException<br />

{<br />

try {<br />

File d = new File(dateiName);<br />

<strong>in</strong>t groesse = (<strong>in</strong>t) d.length();<br />

<strong>in</strong>t anzZeich = 0;<br />

FileInputStream e<strong>in</strong> = new FileInputStream(d);<br />

byte[] daten = new byte[groesse];<br />

while (anzZeich < groesse)<br />

anzZeich += e<strong>in</strong>.read(daten,anzZeich,groesse);<br />

Str<strong>in</strong>g s = new Str<strong>in</strong>g(daten,0);<br />

TextArea textBereich = new TextArea(s,24,80);<br />

textBereich.setFont(new Font("Helvetiva",Font.PLAIN,10));<br />

textBereich.setEditable(false);<br />

this.add("Center",textBereich);<br />

}<br />

280 Die Metho<strong>de</strong> ist <strong>in</strong> <strong>de</strong>r Klasse Component <strong>de</strong>f<strong>in</strong>iert, von <strong>de</strong>r die Klasse java.applet.Applet<br />

abgeleitet ist. Dadurch steht die Metho<strong>de</strong> allen Applets zur Verfügung,<br />

347

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!