Java Beans Beispiel einer Küchenuhr Christoph Held.

Post on 27-Mar-2015

217 views 0 download

Transcript of Java Beans Beispiel einer Küchenuhr Christoph Held.

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