1 / 12

Swing

Swing. Ereignissteuerung. Auf Button-Klick reagieren. Schaltfläche „rot“ geklickt. Auf Button-Klick reagieren. Schaltfläche „grün“ geklickt. Auf Button-Klick reagieren. Schaltfläche „neutral“ geklickt. Auf Button-Klick reagieren. Auf Button-Klick reagieren. Auf Button-Klick reagieren.

wray
Download Presentation

Swing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Swing Ereignissteuerung

  2. Auf Button-Klick reagieren GK Informatik mit Java

  3. Schaltfläche „rot“ geklickt Auf Button-Klick reagieren GK Informatik mit Java

  4. Schaltfläche „grün“ geklickt Auf Button-Klick reagieren GK Informatik mit Java

  5. Schaltfläche „neutral“ geklickt Auf Button-Klick reagieren GK Informatik mit Java

  6. Auf Button-Klick reagieren GK Informatik mit Java

  7. Auf Button-Klick reagieren Programm beendet 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, ...). 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. 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. GK Informatik mit Java

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

  12. Erweitern Sie das Programm „JRotGelbGruen“ zu „JRotGelbGruenMagenta“. Aufgabe GK Informatik mit Java

More Related