Java GUI Programmierung II - Events and More · Events EventListener MVC and Swing Actions Java GUI...

60
Events EventListener MVC and Swing Actions Java GUI Programmierung II - Events and More Kai L¨ owenthal ([email protected]) Universit¨ at Bielefeld, Technische Fakult¨ at basiert auf Folien von Dr. Beatrice Amrhein (Bern) Bielefeld, 23. Juni 2006 Kai L¨ owenthal ([email protected]) Universit¨ at Bielefeld Events and More

Transcript of Java GUI Programmierung II - Events and More · Events EventListener MVC and Swing Actions Java GUI...

Events EventListener MVC and Swing Actions

Java GUI Programmierung II - Events and More

Kai Lowenthal ([email protected])

Universitat Bielefeld, Technische Fakultat

basiert auf Folien von Dr. Beatrice Amrhein (Bern)

Bielefeld, 23. Juni 2006

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Uberblick

1 Eventsjava.awt.eventjavax.swing.event

2 EventListenerActionEvent and ActionListenerKeyEvent and KeyListenerMouseEvents and MouseListenerWindowEvent and WindowListenerWindowAdapter and Adapter Klassen

3 MVC and SwingMVCModel-DelegateShared Model

4 Actions

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Events

Die Interaktion mit einem GUI geschieht uber Events

Ein Event ist eine, durch einen Benutzer initialisierte Aktion

Events konnen auf vielerlei Arten ausgelost werden, sei esdurch Drucken eines Buttons, Verschieben der Maus, Druckeneiner Taste ...

Damit Java auf ein Event reagiert, muss zuerst einEventListener registriert und ein zugehoriger EventHandlerimplementiert werden

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Events

Die Interaktion mit einem GUI geschieht uber Events

Ein Event ist eine, durch einen Benutzer initialisierte Aktion

Events konnen auf vielerlei Arten ausgelost werden, sei esdurch Drucken eines Buttons, Verschieben der Maus, Druckeneiner Taste ...

Damit Java auf ein Event reagiert, muss zuerst einEventListener registriert und ein zugehoriger EventHandlerimplementiert werden

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Events

Die Interaktion mit einem GUI geschieht uber Events

Ein Event ist eine, durch einen Benutzer initialisierte Aktion

Events konnen auf vielerlei Arten ausgelost werden, sei esdurch Drucken eines Buttons, Verschieben der Maus, Druckeneiner Taste ...

Damit Java auf ein Event reagiert, muss zuerst einEventListener registriert und ein zugehoriger EventHandlerimplementiert werden

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Events

Die Interaktion mit einem GUI geschieht uber Events

Ein Event ist eine, durch einen Benutzer initialisierte Aktion

Events konnen auf vielerlei Arten ausgelost werden, sei esdurch Drucken eines Buttons, Verschieben der Maus, Druckeneiner Taste ...

Damit Java auf ein Event reagiert, muss zuerst einEventListener registriert und ein zugehoriger EventHandlerimplementiert werden

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Handling Events

Fur jedes (beobachtete) Event wird ein EventListenerregistriert, welcher die entsprechende(n) EventHandlerMethode(n) implementiert

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Handling Events

Fur jedes (beobachtete) Event wird ein EventListenerregistriert, welcher die entsprechende(n) EventHandlerMethode(n) implementiert

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

java.awt.event

Die wichtigstensten AWT Eventspackage: java.awt.event

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

java.awt.event

AWT Eventspackage: java.awt.event

ActionEvent - Button oder Menu Clicks, Doppelclicks aufListen, Enter in Textfelder, ...

AdjustmentEvent - Veranderung der Position auf einerScrollBar

FocusEvent - Anderungen des Komponenten-Fokus

KeyEvent - Tastatureingaben auf KomponentenMouseEvent - Mauseingaben (Clicks) auf Komponenten

MouseMotionEvent - MausbewegungMouseWheelEvent - Mausradbenutzung

PaintEvent - repaint() von Component notig, wird intern vonAWT behandelt

WindowEvent - Fensteroperationen (Offnen, Schließen,Verkleinern, Vergroßern, ...)

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

java.awt.event

AWT Eventspackage: java.awt.event

ActionEvent - Button oder Menu Clicks, Doppelclicks aufListen, Enter in Textfelder, ...

AdjustmentEvent - Veranderung der Position auf einerScrollBar

FocusEvent - Anderungen des Komponenten-Fokus

KeyEvent - Tastatureingaben auf KomponentenMouseEvent - Mauseingaben (Clicks) auf Komponenten

MouseMotionEvent - MausbewegungMouseWheelEvent - Mausradbenutzung

PaintEvent - repaint() von Component notig, wird intern vonAWT behandelt

WindowEvent - Fensteroperationen (Offnen, Schließen,Verkleinern, Vergroßern, ...)

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

java.awt.event

AWT Eventspackage: java.awt.event

ActionEvent - Button oder Menu Clicks, Doppelclicks aufListen, Enter in Textfelder, ...

AdjustmentEvent - Veranderung der Position auf einerScrollBar

FocusEvent - Anderungen des Komponenten-Fokus

KeyEvent - Tastatureingaben auf KomponentenMouseEvent - Mauseingaben (Clicks) auf Komponenten

MouseMotionEvent - MausbewegungMouseWheelEvent - Mausradbenutzung

PaintEvent - repaint() von Component notig, wird intern vonAWT behandelt

WindowEvent - Fensteroperationen (Offnen, Schließen,Verkleinern, Vergroßern, ...)

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

java.awt.event

AWT Eventspackage: java.awt.event

ActionEvent - Button oder Menu Clicks, Doppelclicks aufListen, Enter in Textfelder, ...

AdjustmentEvent - Veranderung der Position auf einerScrollBar

FocusEvent - Anderungen des Komponenten-Fokus

KeyEvent - Tastatureingaben auf Komponenten

MouseEvent - Mauseingaben (Clicks) auf Komponenten

MouseMotionEvent - MausbewegungMouseWheelEvent - Mausradbenutzung

PaintEvent - repaint() von Component notig, wird intern vonAWT behandelt

WindowEvent - Fensteroperationen (Offnen, Schließen,Verkleinern, Vergroßern, ...)

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

java.awt.event

AWT Eventspackage: java.awt.event

ActionEvent - Button oder Menu Clicks, Doppelclicks aufListen, Enter in Textfelder, ...

AdjustmentEvent - Veranderung der Position auf einerScrollBar

FocusEvent - Anderungen des Komponenten-Fokus

KeyEvent - Tastatureingaben auf KomponentenMouseEvent - Mauseingaben (Clicks) auf Komponenten

MouseMotionEvent - MausbewegungMouseWheelEvent - Mausradbenutzung

PaintEvent - repaint() von Component notig, wird intern vonAWT behandelt

WindowEvent - Fensteroperationen (Offnen, Schließen,Verkleinern, Vergroßern, ...)

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

java.awt.event

AWT Eventspackage: java.awt.event

ActionEvent - Button oder Menu Clicks, Doppelclicks aufListen, Enter in Textfelder, ...

AdjustmentEvent - Veranderung der Position auf einerScrollBar

FocusEvent - Anderungen des Komponenten-Fokus

KeyEvent - Tastatureingaben auf KomponentenMouseEvent - Mauseingaben (Clicks) auf Komponenten

MouseMotionEvent - Mausbewegung

MouseWheelEvent - Mausradbenutzung

PaintEvent - repaint() von Component notig, wird intern vonAWT behandelt

WindowEvent - Fensteroperationen (Offnen, Schließen,Verkleinern, Vergroßern, ...)

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

java.awt.event

AWT Eventspackage: java.awt.event

ActionEvent - Button oder Menu Clicks, Doppelclicks aufListen, Enter in Textfelder, ...

AdjustmentEvent - Veranderung der Position auf einerScrollBar

FocusEvent - Anderungen des Komponenten-Fokus

KeyEvent - Tastatureingaben auf KomponentenMouseEvent - Mauseingaben (Clicks) auf Komponenten

MouseMotionEvent - MausbewegungMouseWheelEvent - Mausradbenutzung

PaintEvent - repaint() von Component notig, wird intern vonAWT behandelt

WindowEvent - Fensteroperationen (Offnen, Schließen,Verkleinern, Vergroßern, ...)

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

java.awt.event

AWT Eventspackage: java.awt.event

ActionEvent - Button oder Menu Clicks, Doppelclicks aufListen, Enter in Textfelder, ...

AdjustmentEvent - Veranderung der Position auf einerScrollBar

FocusEvent - Anderungen des Komponenten-Fokus

KeyEvent - Tastatureingaben auf KomponentenMouseEvent - Mauseingaben (Clicks) auf Komponenten

MouseMotionEvent - MausbewegungMouseWheelEvent - Mausradbenutzung

PaintEvent - repaint() von Component notig, wird intern vonAWT behandelt

WindowEvent - Fensteroperationen (Offnen, Schließen,Verkleinern, Vergroßern, ...)

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

java.awt.event

AWT Eventspackage: java.awt.event

ActionEvent - Button oder Menu Clicks, Doppelclicks aufListen, Enter in Textfelder, ...

AdjustmentEvent - Veranderung der Position auf einerScrollBar

FocusEvent - Anderungen des Komponenten-Fokus

KeyEvent - Tastatureingaben auf KomponentenMouseEvent - Mauseingaben (Clicks) auf Komponenten

MouseMotionEvent - MausbewegungMouseWheelEvent - Mausradbenutzung

PaintEvent - repaint() von Component notig, wird intern vonAWT behandelt

WindowEvent - Fensteroperationen (Offnen, Schließen,Verkleinern, Vergroßern, ...)

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

java.awt.event

Die entsprechenden EventListener

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

javax.swing.event

Einige wichtige Swing Eventspackage: javax.swing.event

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

javax.swing.event

Swing Eventspackage: java.awt.event

CaretEvent - Veranderung der Caret-Position beiText-Komponten

ChangeEvent - Zustandsanderungen (JSlider, JSpinner,JCheckBox, ...)

ListSelectionEvent - Selektion in einer Liste

MenuEvent - Menuereignis

TableModelEvent - TableModel verandert

TreeModelEvent - TreeModel verandert

UndoableEditEvent - Bei reversiblen Veranderungen (z.B.Text-Komponenten)

DocumentEvent - z.B. beim Editieren von Text inText-Komponenten

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

javax.swing.event

Swing Eventspackage: java.awt.event

CaretEvent - Veranderung der Caret-Position beiText-Komponten

ChangeEvent - Zustandsanderungen (JSlider, JSpinner,JCheckBox, ...)

ListSelectionEvent - Selektion in einer Liste

MenuEvent - Menuereignis

TableModelEvent - TableModel verandert

TreeModelEvent - TreeModel verandert

UndoableEditEvent - Bei reversiblen Veranderungen (z.B.Text-Komponenten)

DocumentEvent - z.B. beim Editieren von Text inText-Komponenten

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

javax.swing.event

Swing Eventspackage: java.awt.event

CaretEvent - Veranderung der Caret-Position beiText-Komponten

ChangeEvent - Zustandsanderungen (JSlider, JSpinner,JCheckBox, ...)

ListSelectionEvent - Selektion in einer Liste

MenuEvent - Menuereignis

TableModelEvent - TableModel verandert

TreeModelEvent - TreeModel verandert

UndoableEditEvent - Bei reversiblen Veranderungen (z.B.Text-Komponenten)

DocumentEvent - z.B. beim Editieren von Text inText-Komponenten

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

javax.swing.event

Swing Eventspackage: java.awt.event

CaretEvent - Veranderung der Caret-Position beiText-Komponten

ChangeEvent - Zustandsanderungen (JSlider, JSpinner,JCheckBox, ...)

ListSelectionEvent - Selektion in einer Liste

MenuEvent - Menuereignis

TableModelEvent - TableModel verandert

TreeModelEvent - TreeModel verandert

UndoableEditEvent - Bei reversiblen Veranderungen (z.B.Text-Komponenten)

DocumentEvent - z.B. beim Editieren von Text inText-Komponenten

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

javax.swing.event

Swing Eventspackage: java.awt.event

CaretEvent - Veranderung der Caret-Position beiText-Komponten

ChangeEvent - Zustandsanderungen (JSlider, JSpinner,JCheckBox, ...)

ListSelectionEvent - Selektion in einer Liste

MenuEvent - Menuereignis

TableModelEvent - TableModel verandert

TreeModelEvent - TreeModel verandert

UndoableEditEvent - Bei reversiblen Veranderungen (z.B.Text-Komponenten)

DocumentEvent - z.B. beim Editieren von Text inText-Komponenten

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

javax.swing.event

Swing Eventspackage: java.awt.event

CaretEvent - Veranderung der Caret-Position beiText-Komponten

ChangeEvent - Zustandsanderungen (JSlider, JSpinner,JCheckBox, ...)

ListSelectionEvent - Selektion in einer Liste

MenuEvent - Menuereignis

TableModelEvent - TableModel verandert

TreeModelEvent - TreeModel verandert

UndoableEditEvent - Bei reversiblen Veranderungen (z.B.Text-Komponenten)

DocumentEvent - z.B. beim Editieren von Text inText-Komponenten

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

javax.swing.event

Swing Eventspackage: java.awt.event

CaretEvent - Veranderung der Caret-Position beiText-Komponten

ChangeEvent - Zustandsanderungen (JSlider, JSpinner,JCheckBox, ...)

ListSelectionEvent - Selektion in einer Liste

MenuEvent - Menuereignis

TableModelEvent - TableModel verandert

TreeModelEvent - TreeModel verandert

UndoableEditEvent - Bei reversiblen Veranderungen (z.B.Text-Komponenten)

DocumentEvent - z.B. beim Editieren von Text inText-Komponenten

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

javax.swing.event

Swing Eventspackage: java.awt.event

CaretEvent - Veranderung der Caret-Position beiText-Komponten

ChangeEvent - Zustandsanderungen (JSlider, JSpinner,JCheckBox, ...)

ListSelectionEvent - Selektion in einer Liste

MenuEvent - Menuereignis

TableModelEvent - TableModel verandert

TreeModelEvent - TreeModel verandert

UndoableEditEvent - Bei reversiblen Veranderungen (z.B.Text-Komponenten)

DocumentEvent - z.B. beim Editieren von Text inText-Komponenten

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

javax.swing.event

Die entsprechenden EventListener

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

javax.swing.event

Komponenten und Events

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

EventListener Interfaces

Jedes Klasse, die”Interesse“ an ActionEvents zeigen soll, muss

das ActionListener-Interface integrieren und die MethodeactionPerformed(ActionEvent e) implementieren.

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

ActionEvent and ActionListener

ActionEvent / ActionListener

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

KeyEvent and KeyListener

KeyEvent / KeyListener

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

MouseEvents and MouseListener

MouseEvent / MouseListener

Es gibt drei Sorten MouseListener:

MouseListener

public void mouseClicked( MouseEvent me );public void mouseEntered( MouseEvent me );public void mouseExited( MouseEvent me );public void mousePressed( MouseEvent me );public void mouseReleased( MouseEvent me );

MouseMotionListener

public void mouseDragged( MouseEvent me );public void mouseMoved( MouseEvent me );

MouseWheelListener

public void mouseWheelMoved( MouseWheelEvent me );

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

MouseEvents and MouseListener

MouseEvent / MouseListener

Es gibt drei Sorten MouseListener:

MouseListener

public void mouseClicked( MouseEvent me );public void mouseEntered( MouseEvent me );public void mouseExited( MouseEvent me );public void mousePressed( MouseEvent me );public void mouseReleased( MouseEvent me );

MouseMotionListener

public void mouseDragged( MouseEvent me );public void mouseMoved( MouseEvent me );

MouseWheelListener

public void mouseWheelMoved( MouseWheelEvent me );

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

MouseEvents and MouseListener

MouseEvent / MouseListener

Es gibt drei Sorten MouseListener:

MouseListener

public void mouseClicked( MouseEvent me );public void mouseEntered( MouseEvent me );public void mouseExited( MouseEvent me );public void mousePressed( MouseEvent me );public void mouseReleased( MouseEvent me );

MouseMotionListener

public void mouseDragged( MouseEvent me );public void mouseMoved( MouseEvent me );

MouseWheelListener

public void mouseWheelMoved( MouseWheelEvent me );

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

MouseEvents and MouseListener

MouseEvent / MouseListener

Es gibt drei Sorten MouseListener:

MouseListener

public void mouseClicked( MouseEvent me );public void mouseEntered( MouseEvent me );public void mouseExited( MouseEvent me );public void mousePressed( MouseEvent me );public void mouseReleased( MouseEvent me );

MouseMotionListener

public void mouseDragged( MouseEvent me );public void mouseMoved( MouseEvent me );

MouseWheelListener

public void mouseWheelMoved( MouseWheelEvent me );

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

MouseEvents and MouseListener

Beispiel MouseMotionEvent

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

WindowEvent and WindowListener

WindowEvent / WindowListener

Der WindowListener unterstutzt sieben verschiedene Ereignisse:

public void windowActivated( WindowEvent we );

public void windowDeactivated( WindowEvent we );

public void windowOpened( WindowEvent we );

public void windowClosing( WindowEvent we );

public void windowClosed( WindowEvent we );

public void windowIconified( WindowEvent we );

public void windowDeiconified( WindowEvent we );

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

WindowAdapter and Adapter Klassen

Adapterklassen

Deshalb gibt es den WindowAdapter, welcher alle Methoden leerimplementiert:

Nur wirklich benotigte Methoden mussen uberschrieben werden!Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

WindowAdapter and Adapter Klassen

WindowAdapter

Der WindowAdapter implementiert seit Java 1.4 ausserdem nochdie Methoden zweier weiterer Listener-Schnittstellen

Fur die meisten Listenerklassen existieren Adapterklassen!

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

WindowAdapter and Adapter Klassen

WindowAdapter Demo

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

MVC

Model-View-Controller

Eine MVC-Architektur besteht aus 3 Teilen:

Model - Reprasentiert die Daten der Anwendung

View - Visuelle Reprasentation der Daten

Controller - Nimmt Benutzereingaben auf dem View entgegenund ubersetzt sie in Anderungen am Model

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

MVC

Model-View-Controller

Eine MVC-Architektur besteht aus 3 Teilen:

Model - Reprasentiert die Daten der Anwendung

View - Visuelle Reprasentation der Daten

Controller - Nimmt Benutzereingaben auf dem View entgegenund ubersetzt sie in Anderungen am Model

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

MVC

Model-View-Controller

Eine MVC-Architektur besteht aus 3 Teilen:

Model - Reprasentiert die Daten der Anwendung

View - Visuelle Reprasentation der Daten

Controller - Nimmt Benutzereingaben auf dem View entgegenund ubersetzt sie in Anderungen am Model

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

MVC

Model-View-Controller

Eine MVC-Architektur besteht aus 3 Teilen:

Model - Reprasentiert die Daten der Anwendung

View - Visuelle Reprasentation der Daten

Controller - Nimmt Benutzereingaben auf dem View entgegenund ubersetzt sie in Anderungen am Model

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Model-Delegate

Swing-Variante: Model-Delegate

In Swing sind View und Controller zusammengefasst zu einemUI-Delegate

Das Swing-Design basiert locker auf MVC

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Model-Delegate

Swing-Variante: Model-Delegate

In Swing sind View und Controller zusammengefasst zu einemUI-Delegate

Das Swing-Design basiert locker auf MVC

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Shared Model

Shared Model: JSlider und JScrollBar

Model separiert vom UI

Trennung von Daten und Visualierung ist generell eine guteIdee... :)

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Shared Model

Shared Model: JSlider und JScrollBar

Model separiert vom UI

Trennung von Daten und Visualierung ist generell eine guteIdee... :)

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Shared Model

Shared Model Demo

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Shared Model

Komponenten und Models

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Actions

Ein Action Objekt ist ein ActionListener mit zusatzlichzentraler Behandlung des Zustandes der beteiligten(ActionEvent-feuernden) Komponenten!

Sinnvoll wenn mehrere Komponenten die gleicheFunktionalitat bieten

Nutzlich bei Toolbars, Menueintragen, Buttons, Textfeldern,... (z.B. Menueintrag und Button in Toolbar)

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Actions

Ein Action Objekt ist ein ActionListener mit zusatzlichzentraler Behandlung des Zustandes der beteiligten(ActionEvent-feuernden) Komponenten!

Sinnvoll wenn mehrere Komponenten die gleicheFunktionalitat bieten

Nutzlich bei Toolbars, Menueintragen, Buttons, Textfeldern,... (z.B. Menueintrag und Button in Toolbar)

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Actions

Ein Action Objekt ist ein ActionListener mit zusatzlichzentraler Behandlung des Zustandes der beteiligten(ActionEvent-feuernden) Komponenten!

Sinnvoll wenn mehrere Komponenten die gleicheFunktionalitat bieten

Nutzlich bei Toolbars, Menueintragen, Buttons, Textfeldern,... (z.B. Menueintrag und Button in Toolbar)

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Actions

Zustande die eine Action behandeln kann: Text, Icon,Mnemonic, Enable/Disable, ...

Komponentenstatus wird entsprechend dem Actionstatusdargestellt

Komponenten-Methode: setAction()

Actions mussen AbstractAction erweitern und dieactionPerformed()-Methode implementieren

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Actions

Zustande die eine Action behandeln kann: Text, Icon,Mnemonic, Enable/Disable, ...

Komponentenstatus wird entsprechend dem Actionstatusdargestellt

Komponenten-Methode: setAction()

Actions mussen AbstractAction erweitern und dieactionPerformed()-Methode implementieren

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Actions

Zustande die eine Action behandeln kann: Text, Icon,Mnemonic, Enable/Disable, ...

Komponentenstatus wird entsprechend dem Actionstatusdargestellt

Komponenten-Methode: setAction()

Actions mussen AbstractAction erweitern und dieactionPerformed()-Methode implementieren

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Actions

Zustande die eine Action behandeln kann: Text, Icon,Mnemonic, Enable/Disable, ...

Komponentenstatus wird entsprechend dem Actionstatusdargestellt

Komponenten-Methode: setAction()

Actions mussen AbstractAction erweitern und dieactionPerformed()-Methode implementieren

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More

Events EventListener MVC and Swing Actions

Action Demo

Kai Lowenthal ([email protected]) Universitat Bielefeld

Events and More