Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

© 2004 Pohlig - Taulien Swing Ereignissteuerung. © 2004 Pohlig - Taulien GK Informatik mit Java 2 Auf Button-Klick reagieren.

Ähnliche Präsentationen


Präsentation zum Thema: "© 2004 Pohlig - Taulien Swing Ereignissteuerung. © 2004 Pohlig - Taulien GK Informatik mit Java 2 Auf Button-Klick reagieren."—  Präsentation transkript:

1 © 2004 Pohlig - Taulien Swing Ereignissteuerung

2 © 2004 Pohlig - Taulien GK Informatik mit Java 2 Auf Button-Klick reagieren

3 © 2004 Pohlig - Taulien GK Informatik mit Java 3 Auf Button-Klick reagieren Schaltfläche rot geklickt

4 © 2004 Pohlig - Taulien GK Informatik mit Java 4 Auf Button-Klick reagieren Schaltfläche grün geklickt

5 © 2004 Pohlig - Taulien GK Informatik mit Java 5 Auf Button-Klick reagieren Schaltfläche neutral geklickt

6 © 2004 Pohlig - Taulien GK Informatik mit Java 6 Auf Button-Klick reagieren

7 © 2004 Pohlig - Taulien GK Informatik mit Java 7 Auf Button-Klick reagieren Programm beendet

8 © 2004 Pohlig - Taulien GK Informatik mit Java 8 Delegation Event Model Seit Java 1.1 gibt es das Delegation Event Model, d.h. Schaltflächen, Fenster, usw. können Ereignisse wie ActionEvent (Schaltfläche gedrückt), WindowEvent (Fenster aktiviert, Fenster geschlossen,...), MouseEvent (Mausknopf gedrückt, Maus bewegt,...) usw. auslösen. Das Senden von Ereignissen macht jedoch nur Sinn, wenn es zu jedem Ereignis auch einen entsprechenden Empfänger (z.B. JFrame) gibt, der auf die Ereignisse reagieren kann. Deshalb muss sich ein Empfänger beim Sender registrieren. Das geschieht immer nach dem Muster Sender.addXYZListener(Empfänger); Der Empfänger muss für jede Ereignisart entsprechende Methoden bereitstellen, die diese Ereignisse behandeln (actionPerformed, windowActivated, windowClosed, mouseKlicked, mouseMoved,...).

9 © 2004 Pohlig - Taulien GK Informatik mit Java 9 Delegation Event Model Beispiel: Ein Programm enthält eine Schaltfläche jbKlick, die Aktionsereignisse (ActionEvent) auslösen kann, und eine Klasse MeinKlickAbhorcher, die für die Ereignisbehandlung zuständig ist. Dann kann sich MeinKlickAbhorcher bei der Schaltfläche jbKlick mit jbKlick.addActionListerner(new MeinKlickAbhorcher()); als Empfänger beim Sender jbKlick registrieren. MeinKlickAbhorcher muss dabei die Methode actionPerformed implementieren.

10 © 2004 Pohlig - Taulien GK Informatik mit Java 10 Delegation Event Model Oft ist es zu aufwändig, eigene Klassen zur Ereignisbehandlung zu schreiben. Dann kann z.B. ein JFrame selbst ein Ereignisempfänger sein. Das macht man, in dem der JFrame ein entsprechendes Interface zur Ereignisbehandlung implementiert: class MeinFrame extends JFrame implements ActionListener {... Dann registriert sich MeinFrame beim Sender jbKlick mit der Anweisung jbKlick.addActionListener(this); JFrame muss die Methode actionPerformed implementieren.

11 © 2004 Pohlig - Taulien GK Informatik mit Java 11 Wer hat das Ereignis ausgelöst? … entstprechend reagieren. überschreiben Das zugehörige PaketDas Programm zu einem Aktionsabhorcher machen. Den Aktionsabhorcher beim Button registrieren. Grundgerüst mit Ereignissteuerung import java.awt.*; import javax.swing.*; import java.awt.event.*; public class JRotGelbGruen extends JFrame implements ActionListener { public void actionPerformed(ActionEvent e) { Object obj = e.getSource(); if (obj = = jbRot) jpButtons.setBackground(Color.RED); if (obj = = jbGelb) jpButtons.setBackground(Color.YELLOW); … Im Konstruktor: … jbRot = new JButton("rot"); jbRot.addActionListener(this); …

12 © 2004 Pohlig - Taulien GK Informatik mit Java 12 Aufgabe Erweitern Sie das Programm JRotGelbGruen zu JRotGelbGruenMagenta.


Herunterladen ppt "© 2004 Pohlig - Taulien Swing Ereignissteuerung. © 2004 Pohlig - Taulien GK Informatik mit Java 2 Auf Button-Klick reagieren."

Ähnliche Präsentationen


Google-Anzeigen