Første
Oversigt
BeanInfo-klassen serie, Planche nr. 9
Print af BeanInfo-klassen
1 : BeanInfo-klassen
Vælge hvilke egenskaber (properties) bønne-brugere kan se
Tilknytte en ikon til klassen
Angive rette-klasser (customizer-class)
Lade egenskaber være reserveret eksperter
Give mere sigende vejledning til bønne-bruger
2 : "Feature Descriptors"
BeanDescriptor
klassens navn og type, samt evt. customzirs
PropertyDescriptor
klassen properties
IndexedPropeteriesDescriptor
klassen properties, hvis det er arrays
EventSetDesdriptor
klassen hændelser (events)
MethodDescriptor
klassens metoder
ParameterDescriptor
parametrene til klassens metoder
3 : Definer BeanInfo-klasse
1. Giv den navn XXXXBeanInfo
hvis klassens navn er XXXX
2. Implementer BeanInfo interface
Eller udvid f.eks. SimpleBeanInfo
3. Definer eller overskriv BeanInfo-metoderne
Ikke implementerede metoder betyder ingen adgang
4. Tilknyt evt. en ikon-fil
metode getIcon(int)
5. Angiv klassen og evt. customizer
metoder getBeanDescriptor()
4 : Customizer
Med property editorer
Med customizers
5 : Property Editor
6 : Tilknytning
Direkte i BeanInfo-klassen
setPropertyEditorClass(
)
Via en klassemetode
java.Beans.PropertyEditorManager.registerEditor
parametre typenavn og editorklasse
Opslag med XXXXEditor navn
Hvor XXXX er typenavnet
7 : Customizer
Udvides direkte eller indirekte fra Component-klassen
Dvs. er et visuelt komponent
Implementere java.beans.Customizer interface
Definere en default konstruktør
Tilknyttes via BeanInfo-klassens getBeanDescriptor metode
8 : Persistense
Angiv 'transient' for variable, der IKKE skal gemmes
Implementer (overskriv) metoderne
private void writeObject(java.io.ObjectOutputStream out)
private void readObject(java.io.ObjectInputStream in)
Total kontrol af persistens
9 : Fremtiden?
Java Activation Framework (JAF)
Automatisk start, svarer til MIME
beancontext
Udvidede muligheder for at få oplysninger om JavaBeans-miljøet
Drag and Drop
Mulighed for at trække og slippe ind og ud af javamiljøet
© 1999 BLA*net - Leif E. Andersen, leander@blanet.dk