Java Beans von Raoul Schneider
Java Beans Was ist ein Bean? Idee Eigenschaften Die Beanbox Vom Java-Programm zum Java-Bean Beans in JBuilder
Was ist ein Bean? Ein Bean ist eine eigenständige, wiederverwendbare Softwarekomponente mit folgenden Eigenschaften: besitzen Üblicherweise eine sichtbare Oberfläche können mit Hilfe eines GUI-Editors (z.b. JBuilder) interaktiv zu komplexen Anwendungen zusammengesetzt werden schizophrenes Laufzeitverhalten: Designzeitpunkt und Ausführungszeitpunkt
Idee der Beans Wiederverwendbarkeit Plattformunabhängigkeit Einfache Herstellung graphischer Oberflächen (mit GUI-Beans) Softwarekomponenten als eigenständiges Produkt
Eigenschaften Bean ist ein Objekt hat einen parameterlosen Konstruktor Zugriff auf Eigenschaften nur über setter und getter Serialisierbar. Einbindung in IDE Zum Designzeitpunkt vorgenommene Einstellungen können gespeichert und zum Ausführungszeitpunkt rekonstruiert werden Kommunikation mit anderen Beans nur über Events
Die Beanbox Testumgebung für Beans
Beans und die Beanbox
Ein Beispiel FloatVollKreis als Bean
FloatVollKreis?
Vom Java-Programm zum Bean I 1. Schritt: serialisierbar machen 2. Schritt: Leeren Konstruktor erstellen 3. Schritt: Veränderbare Eigenschaften (properties) als private deklarieren 4. Schritt: setter- und getter- Methoden erstellen 5. Schritt: Kosmetik 6. Schritt: Das manifest.tmp 7. Schritt: Jar-File erzeugen
Vom Java-Programm zum Bean I import java.awt.*; import java.awt.event.*; import java.text.*; import java.lang.*; import java.io.serializable; public class FloatVollPanel extends Panel implements FloatListener, Serializable{
Vom Java-Programm zum Bean II 1. Schritt: serialisierbar machen 2. Schritt: Leeren Konstruktor erstellen 3. Schritt: Veränderbare Eigenschaften (properties) als private deklarieren 4. Schritt: setter- und getter- Methoden erstellen 5. Schritt: Kosmetik 6. Schritt: Das manifest.tmp 7. Schritt: Jar-File erzeugen
Vom Java-Programm zum import java.awt.*; import java.awt.event.*; import java.text.*; import java.lang.*; import java.io.serializable; Bean II public class FloatVollPanel extends Panel implements FloatListener, Serializable{ FloatVollPanel(){... }
Vom Java-Programm zum Bean III 1. Schritt: serialisierbar machen 2. Schritt: Leeren Konstruktor erstellen 3. Schritt: Veränderbare Eigenschaften (properties) als private deklarieren 4. Schritt: setter- und getter- Methoden erstellen 5. Schritt: Kosmetik 6. Schritt: Das manifest.tmp 7. Schritt: Jar-File erzeugen
Vom Java-Programm zum Bean III private int minvalue; private int maxvalue; private double initvalue; private double steigung;
Vom Java-Programm zum Bean IV 1. Schritt: serialisierbar machen 2. Schritt: Leeren Konstruktor erstellen 3. Schritt: Veränderbare Eigenschaften (properties) als private deklarieren 4. Schritt: setter- und getter- Methoden erstellen 5. Schritt: Kosmetik 6. Schritt: Das manifest.tmp 7. Schritt: Jar-File erzeugen
Vom Java-Programm zum Bean IV Zugriff auf die als private deklarierten Variablen mittels set - und get - Methoden: Namenkonvention
Vom Java-Programm zum Bean IV public void setminvalue(int minval){ minvalue = minval; } public int getminvalue(){ return minvalue; }
Vom Java-Programm zum Bean V 1. Schritt: serialisierbar machen 2. Schritt: Leeren Konstruktor erstellen 3. Schritt: Veränderbare Eigenschaften (properties) als private deklarieren 4. Schritt: setter- und getter- Methoden erstellen 5. Schritt: Kosmetik 6. Schritt: Das manifest.tmp 7. Schritt: Jar-File erzeugen
Vom Java-Programm zum Bean V => *BeanInfo.class
FloatVollPanelBeanInfo.java import java.beans.*; public class FloatVollPanelBeanInfo extends SimpleBeanInfo { } public java.awt.image geticon(int iconkind) { if (iconkind == BeanInfo.ICON_COLOR_16x16) { java.awt.image img = loadimage("watch16.gif"); return img; } if (iconkind == BeanInfo.ICON_COLOR_32x32) { java.awt.image img = loadimage("watch32.gif"); return img; } return null; }
Vom Java-Programm zum Bean VI 1. Schritt: serialisierbar machen 2. Schritt: Leeren Konstruktor erstellen 3. Schritt: Veränderbare Eigenschaften (properties) als private deklarieren 4. Schritt: setter- und getter- Methoden erstellen 5. Schritt: Kosmetik 6. Schritt: Das manifest.tmp 7. Schritt: Jar-File erzeugen
Das manifest.tmp Name: FloatBeans/FloatVollPanel.class Java-Bean: True Leerzeile ist wichtig!!!
Vom Java-Programm zum Bean VII 1. Schritt: serialisierbar machen 2. Schritt: Leeren Konstruktor erstellen 3. Schritt: Veränderbare Eigenschaften (properties) als private deklarieren 4. Schritt: setter- und getter- Methoden erstellen 5. Schritt: Kosmetik 6. Schritt: Das manifest.tmp 7. Schritt: Jar-File erzeugen
Vom Java-Programm zum Bean VII Jar-File erzeugen: C:\java > jar cfm {name}.jar manifest.tmp *.*
Die Beanbox II FloatVollPanel in der Beanbox
Die Beanbox
Die Beanbox II
Beans im JBuilder Einbinden Benutzen
Wir machen ein Bean I import java.io.serializable implements Serializable
Wir machen ein Bean II Properties (eigenschaften): müssen als private deklariert sein Zugriff per setter und getter : methoden beginnen mit get oder set gefolgt vom Namen des Property, und dem ersten Buchstaben gross
Wir machen ein Bean III...und schon sind wir fast am Ende kompilieren des *.java Files erstellen des manifest.tmp Files in einem Texteditor: Name: *.class Java-Bean: True
Wir machen ein Bean IV Jar-file erzeugen: jar cfm {name}.jar manifest.tmp *.class Und fertig sind wir!