Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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.

Ähnliche Präsentationen


Präsentation zum Thema: "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."—  Präsentation transkript:

1 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 manipulated in builder tools Visuelle Entwicklungsumgebung · Komplett visuell · Visuelle Verbindung mit Sourcecode · Einfache Skriptsprache (z.B. JSP) Motivation Wieder verwendbare Software Komponenten · Leicht veränderbar, da visuell bearbeitbar · Kaum Unterschiede zu Java-Klassen Plattformunabhängig, da auf Java basierend Bestandteil des JDK: package java.beans

2 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 2 Java Beans - Typen Visuelle Beans ist visuell (GUI) darstellbar Buttons, Textfelder, etc. z.B. SWING, AWT Eigenschaften visuell- veränderbar abgeleitet von java.awt.Component Nicht Visuelle Beans Hat keine Darstellung (GUI) Datenbank Anbindungs- Beans, Sortier-Beans, Timer, etc Eigenschaften Visuell- veränderbar Platzhalter-Symbol in Entwicklungsumgebung

3 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 3 Grundlagen von Java Beans Selbstbeobachtung (Introspection) Analysierbarkeit von außen Analyse des eigenen Kontextes Eigenschaften (Properties) Attribute beschreiben den Zustand des Beans Spezielle Zugriffmethoden (Property-Programmierkonventionen) Ereignisse (Events) Auslösbarkeit von Ereignissen (Java 1.1 Modell) Anpassung (Customization) Änderung von Eigenschaften visuell bzw. interaktiv Speicherung (Persistenz) Speicher bzw. Ladbarkeit von Beans

4 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 4 METHODEN Java Bean Darstellung JAVA BEAN EIGENSCHAFTEN EREIGNISSE CUSTOMIZER HD PERSISTENZ BEANINFO

5 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 5 Java Beans Design Vorschriften Öffentlicher Konstruktor ohne Parameter Implementation von java.io.Serializable Javabeans Programmierkonventionen Get / Set – Methoden für Eigenschaften Add / Remove – Methoden für Ereignisse Multitasking Umgebungssicher Thread Sicherheit

6 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 6 Eigenschaften (Properties) Zugriffsarten Zugriff durch get bzw. set Methode getValue() bzw. setValue(1234) Zugriff während der Anpassung (Customization) Visuelle Entwicklungsumgebung durch · Property Editor · Property Sheet Direkter Zugriff in Scriptumgebung (JSP etc) B.value = 1234 · Zugriff als wäre es Variable · Aufruf der set bzw. get methode implizit

7 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 7 Eigenschaften (Properties) Typen Einfache Eigenschaften (Simple Properties) int, string, boolean, etc. Indizierte/Indexierte Eigenschaften (Indexed-Properties) Zusammenfassung gleicher Eigenschaften in Arrays Gebundene Eigenschaften (Bound-Properties) Informierung der angemeldeten Komponenten über Änderung eingeschränkte Eigenschaften (Constraint-Properties) vor Änderung Informierung der angeschlossen Komponenten die evtl. Veto einlegen können

8 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 8 Simple-Properties (Einfache Eigenschaften) Programmierkonvention public getXXX() public void setXXX ( wert ) Nicht notwendigerweise set und get Methode Zugriffs- & Integritätsprüfung in diesen Methoden möglich Zugriff auf Eigenschaften nur durch diese Methoden Bei boolschen Wert isXXX() möglich RECHTECK Color Farbe; … getFarbe(); setFarbe(Color neu); … Name Eigenschaften Methoden

9 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 9 Indexed-Properties (Indizierte Eigenschaften) Programmierkonvention public [ ] getXXX() public getXXX( int index ) public void setXXX( [ ] werte ) public void setXXX( wert, int index ) Wie Einfache-Eigenschaften Index um Zugriff auf Elemente des Feldes zu bekommen DOPPELBOX Color[ ] Farben; … getFarben(); setFarben(Color[ ] neu); getFarben(int index) setFarben(Color neu, int index)

10 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 10 Ereignisse (events) BEAN addXXListener (…) Objekt Trägt sich ein EVENT Obj

11 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 11 Ereignisse (events) Basiert auf dem Java Event Model Sender / Listener - Modell Bean muss Listener verwalten z.B. durch java.util.Vector Programmierkonvention für Multicast (mehrere Listener) public void add ( listener) public void remove ( list.) Unicast (ein Listener) public void add (...) throws java.util.TooManyListenersException

12 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 12 Bound-Properties (Gebundene Eigenschaften) SENDER Property - Changesupport changes; Object wert; EMPFÄNGER addP.C.Listener() Trägt sich ein Implementiert Property- ChangesListene r propertyChange (ChangeEvent evt) getWert() setWert(Obj new) Feuert Event

13 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 13 Bound-Properties Basiert auf Simple bzw. Indexed Eigenschaften set / get Methode vorhanden Funktionsumfang erweitert PropertyChangeSupport wird instanziert add/removePropertyChangeListener werden implementiert mehre interessierte Listener können sich eintragen (Multicast) · (Unicast) auch möglich Set Methode der Eigenschaft informiert Listener ruft firePropertyChange Methode auf · feuert Event nach Änderung des internen Zustandes

14 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 14 Constained-Properties (Eingeschränkte Eigenschaften) SENDER Vetoable- Changesupport changes; Object wert; addV.CListener getWert() EMPFÄNGER vetoableChange (ChangeEvent evt) Implementiert vetoable- ChangeListene r getWert() setWert(Obj new) Feuert Event entscheidet ob Änderung stattfinden darf

15 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 15 Constained-Properties Listener können VETO zu Änderung einlegen Sonst wie Bounded Properties Listener können Veto einlegen zu Änderung · set Methode wirft PropertyVetoException VetoableChangeSupport wird instanziert add / removeVetoableChangeListener wird implementiert Multicast Set Methode informiert eingetragene Listener Meistens gekoppelt mit Gebundenen Eigenschaften feuert Event vor Änderung des internen Zustandes

16 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 16 Selbstbeobachtung (Introspection) Entwicklungsumgebung analysiert Bean benutzt low level reflection erhält Informationen über öffentliche Schnittstellen der Bean Programmierkonventionen nötig um · Eigenschaften · Ereignisse · Methoden unterscheiden zu können Auch Angabe der Schnittstellen durch Programmierer möglich BeanInfo Klasse

17 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 17 Anpassung (Customization) Property-sheet Änderungen der Eigenschaften visuell über get/set – Methoden realisiert Property-Editoren in meisten IDEs vorgefertigte Editoren für Standard Typen color, string, integer, boolean, etc kann auch bei eigenen Typen selbst erstellt werden Customizer komplexe Bean, z.B. Tabellenkalkulation z.B. Wizard, der das Anpassen der Bean erleichtert · kann jede gewünscht GUI Funktionalität haben

18 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 18 Persistenz (Speicherung) Beans können ihren internen Zustand speichern implementieren java.io.Serializable Speicherung z.B. im XML Format java.beans beinhaltet Methoden die dies leisten · java.beans.XMLdecoder Beans können sich aus einer Datei selbst initialisieren Bean wird in einem Builder angepasst und gespeichert aus dieser Datei kann der ursprünglichen Zustand der Bean wiederhergestellt werden

19 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 19 Speicherung der Beans Speicherung in JAR (Java ARchive) Manifest Datei nötig (.mf) · beschreibt was in der JAR Datei steht gehört zum JDK Visuelle Entwicklungsumgebungen für Beans öffnen JAR Datei analysieren Manifest bindet Beans aus JAR Datei ein

20 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 20 Arbeiten mit Java Beans Kaufen oder Programmieren der Beans Zusammenstellung der Beans Bean-Builder Von Hand programmiert Speichern der Zusammenstellung durch Builder Serialisierung der internen Zustände der Beans Speicherung der Verbindungen · Eingetragene Listener, etc. · Aufgabe des Builders

21 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 21 Java Bean Builder Sun Beanbuilder 1.0 beta Frei erhältlich Eher zu Demonstrations-Zwecken geeignet Borland JBuilder Personal Edition frei erhältlich Komplette Entwicklungsumgebung Viele Komponenten vordefiniert Entwicklung jeder Art von Java-Programmen möglich

22 Universität Bonn, Seminar Softwaretechnologie WS 2003/2004, Frank Reichartz 22 Vor-/Nachteile von JavaBeans Vorteile write once, run everywhere Introspektion Umfangreiche Bibliotheken Dynamisches Nachladen von Klassen Nachteile kein Komponentenmodell, sondern … Nicht echtzeitfähig Interpretierter bytecode · Langsam Kaum Unterstützung bei der Komponenten-Erzeugung


Herunterladen ppt "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."

Ähnliche Präsentationen


Google-Anzeigen