Java Beans
Beispiel einer Küchenuhr
Christoph Held
Übersicht
Aufgabenstellung Beans Events UML BDK Zusammenfassung
Aufgabenstellung
!
Clock Monitor Alarm
ticks Alarmevent
Screenshot
Clock Bean
Panel Thread increment Methode start und stop Methode
Monitor Bean
Panel increment Methode count Prop reset Methode
Alarm Bean
Panel alarmTrigger Methode reset Methode
!BeanInfo! Objekte Property Editor f Mon
Zusätzliche Klassen
Events (Wiederholung)
Events (Wiederholung)
Events (Wiederholung)
Events (Wiederholung)
Bean1
-list:Vector
+addActionEventListener:void+removeActionEventListener:void+creatEvent:void
Bean2
Events (Wiederholung)
Bean1
-list:Vector
+addActionEventListener:void+removeActionEventListener:void+creatEvent:void
Bean2
ActionEventListener
Events (Wiederholung)
Bean1
-list:Vector
+addActionEventListener:void+removeActionEventListener:void+creatEvent:void
ActionEventListener
+actionPerformed:void
interface
Bean2
+actionPerformed:void
ActionEventListener
Bean2
Events (Wiederholung)
Bean1
-list:Vector
+addActionEventListener:void+removeActionEventListener:void+creatEvent:void
Bean2
ActionEventListener
Bean2
methodXYZ:void
Events (Wiederholung)
Bean1
-list:Vector
+addAction...+removeAction...+creatEvent:void
Bean2
ActionEventListener
Hookup
methodXYZ:void
ActionEventListener
+ActionPerformed:void
interface
Hookup
public ActionPerformed(){ Bean2.methodXYZ();}
Events (Wiederholung)
Vor- u. Nachteile von Hookups
+ Sehr flexibel + Übersichtliche
sourcen
- Events information gehen verloren
- viele kl Klassen
!
Button Alarm
Alarmevent
Press
Vor- u. Nachteile von Hookups
!
Button Monitor Alarm
Alarmevent
Press
Vor- u. Nachteile von Hookups
!
Clock Monitor Alarm
ticks Alarmevent
Vor- u. Nachteile von Hookups
UMLKlassd
Clock
-field:TextField-list:Vector
+addTickEventListener:void+removeTickEventListener:void+start:void+increment:void
TickEventListener
+tickPerformed:void
interface
Hookup
+tickPerformed:void
UML
Clock
-field:TextField-list:Vector
+addTickEventListener:void+removeTickEventListener:void+start:void+increment:void
TickEventListener
+tickPerformed:void
interface
Hookup
+tickPerformed:void
Monitor
-count:long
+increment:void
UML
Clock
-field:TextField-list:Vector
+addTickEventListener:void+removeTickEventListener:void+start:void+increment:void
TickEventListener
+tickPerformed:void
interface
Hookup
+tickPerformed:void
Monitor
-count:long
+increment:void
UML
-field:TextField-list:Vector
+addTickEventListener:void+removeTickEventListener:void+start:void+increment:void
TickEventListener
+tickPerformed:void
interface
Hookup
+tickPerformed:void
Monitor
-count:long
+increment:void
UML
Monitor
-count:long
+increment:void
TickEventListener
+tickPerformed:void
interface
Hookup
+tickPerformed:void
MonitorTriggerEventListener
+monitorTriggerEventHandler:void
interface
Alarm
+monitorTriggerEventHandler:void+triggerAlarm:void+reset:void
UML
Monitor
-count:long
+increment:void
TickEventListener
+tickPerformed:void
interface
Hookup
+tickPerformed:void
MonitorTriggerEventListener
+monitorTriggerEventHandler:void
interface
Alarm
+monitorTriggerEventHandler:void+triggerAlarm:void+reset:void
UML
Monitor
-count:long
+increment:void
TickEventListener
+tickPerformed:void
interface
Hookup
+tickPerformed:void
MonitorTriggerEventListener
+monitorTriggerEventHandler:void
interface
Alarm
+monitorTriggerEventHandler:void+triggerAlarm:void+reset:void
UML
Monitor
-count:long
+increment:void
TickEventListener
+tickPerformed:void
+tickPerformed:void
MonitorTriggerEventListener
+monitorTriggerEventHandler:void
interface
Alarm
+monitorTriggerEventHandler:void+triggerAlarm:void+reset:void
UML
MonitorTriggerEventListener
+monitorTriggerEventHandler:void
interface
Alarm
+monitorTriggerEventHandler:void+triggerAlarm:void+reset:void
+tickPerformed:void
Monitor
-count:long
+increment:void
UML
MonitorTriggerEventListener
+monitorTriggerEventHandler:void
interface
Alarm
+monitorTriggerEventHandler:void+triggerAlarm:void+reset:void
Monitor
-count:long
+increment:void
BDK
Graphische Umgebung Beans testen Keine Editierung von source code
Zusammenfassung
Viele Beans im Internet