• Keine Ergebnisse gefunden

Interface ActionListener

N/A
N/A
Protected

Academic year: 2022

Aktie "Interface ActionListener"

Copied!
11
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Programm Animation4.java

Interface ActionListener

Das Interface ActionListener fordert nur eine Methode – actionPerformed(ActionEvent e)

e.getActionCommand() liefert String, der gedrückten Knopf beschreibt

e.getSource() liefert Referenz auf Objekt, das das Ereignis e ausgelöst hat gezielter Vergleich mit bestimmten Knöpfen

(2)

Katz und Maus

(3)

Interface MouseListener

Das Interface MouseListener enhält folgende Methoden:

mousePressed(MouseEvent e): Maus-Taste gedrückt

mouseReleased(MouseEvent e): Maus-Taste losgelassen

mouseClicked(MouseEvent e): Maus-Taste

„geklickt“ (drücken und loslassen)

mouseEntered(MouseEvent e): Maus-Zeiger bewegt sich in auslösende Komponente (z.B. Fenster) hinein

mouseExited(MouseEvent e): Maus-Zeiger verlässt auslösende Komponente (z.B. Fenster)

e.getX(), e.getY() liefern ints, die den Ort des Ereignisses angeben

addMouseListener(this): Listener beim Fenster anmelden

(4)

Interface MouseMotionListener

Das Interface MouseMotionListener enhält folgende 2 Methoden:

mouseMoved(MouseEvent e): Maus bewegt

mouseDragged(MouseEvent e): Maus bei gedrückter Maus- Taste bewegt

e.getX(), e.getY() liefern ints, die den Ort des Ereignisses angeben

addMouseMotionListener(this): Listener beim Fenster anmelden

Programm Maus.java

(5)

Zu guter Letzt:

Applets

(6)

Erstes Beispiel als Applet

/// Datei: FirstApplet.java

import java.awt.*; // Abstract Window Toolkit (awt) import java.applet.*; // und Applet-Umgebung einbinden

public class FirstApplet extends Applet { // erweitert die Klasse Applet // Keine main-Methode, Konstruktor kann auch weggelassen werden

public FirstApplet() // Der Konstruktor dieser Klasse { // (legt nur Farben fest)

setBackground(Color.black); // Schwarzen Hintergrund und setForeground(Color.white); // weissen Vordergrund setzen }

public void paint(Graphics g) // Diese Routine wird zum Neuzeichnen { // des Fensterinhalts aufgerufen

g.setFont(new Font("SansSerif", Font.BOLD, 36)); // Schrift waehlen g.drawString("Hier bin ich !!!", 20, 80); // Text ausgeben

} }

(7)

Erstes Beispiel als Applet

Wir benötigen eine HTML-Einbindung FirstApplet.html (kann auch in Web-Seite eingebunden werden):

legt Code-Quelle, Breite und Höhe der Zeichenfläche des Applets fest

Ausführen z.B. mit

appletviewer FirstApplet.html

(statt appletviewer kann auch ein Web-Browser verwendet werden)

<applet code="FirstApplet.class" width=300 height=120></applet>

(8)

kleine Änderungen:

Kopf: Applet-Umgebung einbinden, Vererbung von Superklasse Applet

WindowListener ist überflüssig

Referenzen zu Frame entfernen: super(), setSize(), setLocation()

Methode main() wird nicht benötigt

Maus-Demo als Applet

Von Java-Programmen zu -Applets

(9)

void init() wird nach dem Laden des Applets

aufgerufen – hier keine langen Rechnungen – für längere Rechnung: Thread starten

Startmethode: void start() startet Applet wieder (z.B. nach Anhalten durch Browser)

void stop() wird zum Anhalten des Applets

aufgerufen (z.B. beim Verlassen der Web-Seite – hier Animation anhalten)

void destroy() wird zu Beenden des Applets

aufgerufen – hier Aufräumarbeiten: Threads beenden, andere komplizierte Objekte (z.B. Fenster) entfernen

Lebenszyklus eines Applets

(10)

Animation als Applet

Ganz zuletzt noch Thread s

Kochrezept:

• Interface Runnable implementieren

• Ein Objekt t der Klasse Thread erzeugen –

Konstruktor Thread(Runnable o ) mit o =this

t .start() startet Thread

• Methode run() für die Pro- grammausführung verwenden

t .sleep(long ms ):

bereits bekannt

(11)

Organisatorisches

Heute (14.3.2007): Letzte Übung

• Donnerstag, 15.3.2007, 10:15 in HS 4:

Abschlussbesprechung

Sammele Lösungen von Blatt 7 & 8 ! Mit Erlaubnis Quellcode zu veröffentlichen ?

• Kurze Diskussion Wissenschaftliches

Rechnen ➠ bei Abschlussbesprechung

Referenzen

ÄHNLICHE DOKUMENTE

Weil dieser im Schlaf naturgemäß etwas niedriger ist als im Wachzustand, tritt die Cheyne-Stokes-Atmung in der Regel zuerst nachts auf: Sinkt der Partial- druck des

In order to quantify the different migration effects in the degradation of the metallization structure during the void simulation process, the analysis of the divergence values of

// generates conditional jump instruction for true jump // x represents the condition. void tJump

I n den letzten Jahren erkennen Neurologen immer mehr, dass das sogenannte typische Parkin- son-Syndrom nicht nur eine Bewe- gungsstörung oder eine Störung des dopaminergen Systems

• Modularisiere ihn so, dass Beweise für Teilprogramme zu einem Beweis für das gesamte Programm zusammen gesetzt werden können !.. Ableitung korrekter Aussagen:. • Bestimme eine

6 From the time of his first visit to Coole Park, in 1897, Yeats had associated Maud with swans. He told her in an unpublished poem written that year, ‘it is/ of you I sing when

Diagnosis Extraordinarily large species of Postburso- plana with a male copulatory organ armed with a cen- tral group of six smaller hooks and two larger spines that support

Solange die F¨ ahigkeiten der Planungsebene Großhirn f¨ ur die Erf¨ ullung ihrer Funktionen ausreichen, wird zus¨ atzlich zur Solltrajektorie eine Notbahn geplant und an