Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger

Java ist auch eine Insel von Christian Ullenboom
Programmieren für die Java 2-Plattform in der Version 5 (Tiger-Release)
Buch: Java ist auch eine Insel
gp Kapitel 22 Komponenten durch Bohnen
  gp 22.1 Grundlagen der Komponententechnik
    gp 22.1.1 Brauchen wir überhaupt Komponenten?
    gp 22.1.2 Visuelle und nichtvisuelle Komponenten
    gp 22.1.3 Andere Komponententechnologien oder: Was uns Microsoft brachte
  gp 22.2 Das JavaBeans Development Kit (BDK)
    gp 22.2.1 Eine Beispielsitzung im BDK
    gp 22.2.2 Verknüpfungen zwischen Komponenten
    gp 22.2.3 Beans speichern
  gp 22.3 Die kleinste Bohne der Welt
  gp 22.4 Jar-Archive für Komponenten
  gp 22.5 Worauf JavaBeans basieren
  gp 22.6 Eigenschaften
    gp 22.6.1 Einfache Eigenschaften
    gp 22.6.2 Boolesche Eigenschaften
    gp 22.6.3 Indizierte Eigenschaften
  gp 22.7 Ereignisse
    gp 22.7.1 Multicast und Unicast
    gp 22.7.2 Namenskonvention
  gp 22.8 Weitere Eigenschaften
    gp 22.8.1 Gebundene Eigenschaften
    gp 22.8.2 Anwendung von PropertyChange bei AWT-Komponenten
    gp 22.8.3 Veto-Eigenschaften. Dagegen!
  gp 22.9 Bean-Eigenschaften anpassen
    gp 22.9.1 Customizer
  gp 22.10 Property-Editoren
  gp 22.11 BeanInfo
  gp 22.12 Beliebte Fehler


Galileo Computing

22.12 Beliebte Fehletoptop

Programmieren von Beans ist zwar einfach, aber es schleichen sich immer wieder Fehler ein. Dieser Abschnitt soll auflisten, welche Fehler für eine Bean letal sind, so dass sie von einer Umgebung nicht erkannt werden kann.

gp  Die Klasse muss öffentlich (public) und darf nicht abstrakt sein. Abstrakte Klassen können keine Exemplare bilden, das ist aber für eine Bean-Box unumgänglich.
gp  Die Klasse muss vom Klassenlader ohne Folgefehler geladen werden können. Der Vorgang kann während des Ladens durch Fehler im static-Block oder durch fehlende Klassen abgebrochen werden.
gp  Die Bean muss einen Standard-Konstruktor anbieten, der ebenfalls public sein muss.
gp  Die Klasse muss Serializable implementieren, muss also serialisierbar sein. Das hat zur Konsequenz, dass alle Attribute, die nicht transient sind, ebenso serialisierbar sein müssen. Eine Verletzung dieser Regel stellt es beispielsweise dar, wenn eine grafische Komponente eine Referenz auf ein Image-Objekt hält, denn Image-Objekte sind nicht serialisierbar. Wir müssen daher entweder ImageIcon nutzen oder eigene Methoden writeObject(), readObject() implementieren. Wenn schon eine Oberklasse serialisierbar ist, dann muss unsere Klasse nicht noch einmal Serializable implementieren, da wir dann selbst automatisch instanceof Serializable durch die Oberklasse sind. Es bietet sich jedoch zum Zweck der Lesbarkeit an, implements Serializable zu schreiben, damit das auf den ersten Blick sichtbar ist.




Copyright © Galileo Press GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de