Beanifiing the Browser Beans implementieren Serializable.

Slides:



Advertisements
Ähnliche Präsentationen
Objektrelationales Mapping mit JPA
Advertisements

der Universität Oldenburg
Objektorientierte Programmierung
der Universität Oldenburg
der Universität Oldenburg
der Universität Oldenburg
der Universität Oldenburg
Ein Beispiel in Java.
der Universität Oldenburg
der Universität Oldenburg
der Universität Oldenburg
Java: Programmierung grafischer Oberflächen
Threads Richard Göbel.
Java: Programmierung grafischer Oberflächen
Java: Dynamische Datentypen
Listen Richard Göbel.
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
MVC.
AUFGABE 1: Ein Wagen (dargestellt durch ein Rechteck) soll sich von links nach rechts bewegen. Tipp: Timer benutzen AUFGABE 2: Zusätzlich zu Aufgabe.
Wie überwacht man Objekte im "Alltag" ?. Indem man "Wanzen" an diese anbringt.
Ein Beispiel in Java.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
M a r c – o l i v e r p a h l Die ObjektOrientierte Mühle Das Beispiel soll noch einmal das Konzept der Objektorientiertheit erläutern. Dabei werden außerdem.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
AWT – Detailbetrachtung Java 3D – Seminar im Wintersemester 2002/2003 Christian Schneider.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger, Dipl.-Ing. D. Dörschlag Einführung in die Programmierung mit Java.
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
Listen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang
Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 1 Java Beans A Java Bean is a reusable software component that can be visually.
Command Pattern Karola Schäuble,
1DVG3 - Eventbehandlung Eventbehandlung. DVG3 - Eventbehandlung 2 Events Events sind externe Ereignisse, die parallel zum normalen Programmablauf auftreten.
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
07-GraphischeObjekte Graphische Objekte in EMMA301Paint.
DVG Klassen und Objekte
Klassen 02 - Klassen.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
© 2002 Dr. Cavelius - Ley - Pohlig - Taulien Step by step zum JFrame 1 Zum JFrame Step by step by step by step by step by step by step by step by.
© 2005 Pohlig GK Informatik K Zum JFrame Step by step by step by step by step by step by step by step by.
© 2006 MPohlig Grundkurs Informatik mit Java 1 JFrame-Vorlage Step by step by step by step by step by step by step by step by.
© 2004 Pohlig - Taulien Swing Ereignissteuerung. © 2004 Pohlig - Taulien GK Informatik mit Java 2 Auf Button-Klick reagieren.
Informatikunterricht mit Java
Vererbung Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces.
Template Pattern Richard Göbel.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
Proseminar Java Beans Events gehalten von Richard Gottwald Lehrstuhl: Prof. Dr. Dr.h.c. J. Eickel Betreuerin:Mag. Phil. R. Höllerer.
Java: Programmierung grafischer Oberflächen
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
1.6 Die Datenstruktur Stapel Ein Stapel (Stack) ist ein Sonderfall einer Liste. Die Elemente werden nach dem Prinzip LIFO (Last In First Out) angefügt.
Einfach und doppelt verkettete Listen in JAVA by Jens Weibler
EPROG Tutorium #5 Philipp Effenberger
Das Command Muster Deimbacher, Gölles.
Programmiervorkurs WS 2014/15 Methoden
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
© 2005 Pohlig Informatik Jg. 11 mfH Michael Pohlig 1 Zum JFrame Step by step by step by step by step by step by step by step by.
Abstrakte Klassen und das Interface-Konzept
Dr. Wolfram Amme, Generisches Programmieren, Informatik II, FSU Jena, SS Generisches Programmieren.
Vererbung in Java. public abstract class Form { protected int breite; protected int hoehe; protected String farbe; /** * Erzeuge eine Form der Breite.
Praktische Informatik 1
„Was du ererbt von Deinen Vätern hast, erwirb es, um es zu besitzen.“
Venusspiegel und Marsschild
Allgemeine Befehle für die allgemeine Liste
Raphael Fischer Informatik II - Übung 06 Raphael Fischer
Raphael Fischer Informatik II - Übung 05 Raphael Fischer
Grundkurs Informatik mit Java
Reklursive Grafiken Teil I
1. Die rekursive Datenstruktur Liste 1
 Präsentation transkript:

Beanifiing the Browser Beans implementieren Serializable

PropertyChange Events Der Browser soll PropertyChange- Events erzeugen –Add/removePropertyChangeListener implementieren protected PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this); public void addPropertyChangeListener (PropertyChangeListener listener) { thePropertyChangeSupport(). addPropertyChangeListener(listener); }

PropertyChange Events (2) –setURL und setHome müssen reimplementiert werden public void setURL(String newURL) { String oldURL = getURL(); super.setURL( newURL ); thePropertyChangeSupport(). firePropertyChange( "URL", oldURL, newURL ); } public void setHome(String newHome) { String oldHome = getHome(); super.setHome(newHome); thePropertyChangeSupport(). firePropertyChange("home", oldHome, newHome); }

Events / Listeners / Producers 1. goHome hört auf ein ActionEvent vom home Button 2. propertyChange hört auf ein PropertyChangeEvent 3. updateBrowser hört auf HistoryBrowseEvent 4. moveBackward hört auf ActionEvent 5. moveForward hört auf ActionEvent

Go Home Funktionalität Das ActionEvent des Buttons wird mit der Methode goHome() vom BrowserSolution verbunden

Die History Wird realisiert durch zwei Stacks Nur das PropertyChangeEvent URL bearbeiten public void propertyChange(PropertyChangeEvent event) { if( event.getPropertyName().equals("URL") ) { String oldURL = (String)event.getOldValue(); String newURL = (String)event.getNewValue(); addURLToHistory( oldURL, newURL ); } public void addURLToHistory( String oldURL, String newURL ) { next.clear(); if( previous.isEmpty() ) previous.push( oldURL ); previous.push( newURL ); }

Die History (2) moveBackward(Forward) handlen die ActionEvents der Buttons prev/next public void moveBackward() { if( !previous.isEmpty() ) { next.push( previous.pop() ); fireBrowseHistoryEvent( new BrowseHistoryEvent( this, (String)previous.peek() ) ); } public void moveForward() { if( !next.isEmpty() ) { previous.push( next.pop() ); fireBrowseHistoryEvent( new BrowseHistoryEvent( this, (String)previous.peek() ) ); }

Das BrowseHistory Event Wird von der History bei Navigieren ausgelöst Hat neue URL als Attribut Das Interface BrowseHistoryListener hat nur eine Methode public interface BrowseHistoryListener extends EventListener { void updateBrowser(BrowseHistoryEvent event); }

Die History und das BrowseHistory Event Die History implementiert add(remove)BrowseHistoryListener Feuert ein BrowseHistoryEvent an alle Listener, wenn navigiert wird

Der Browser und das BrowseHistory Event Der Browser implementier BrowseHistoryListener Die neue URL darf nicht über setURL gesetzt werden; sonst rekursion public class BrowserSolution extends browser.Browser implements PropertyChangeListener, Serializable, BrowseHistoryListener {... public void updateBrowser(BrowseHistoryEvent event) { // don't use this.setURL to avoid recursion! super.setURL( event.getNewURL() ); }... }