Beim Testen der obigen
main fällt auf, dass die Steuerung
der Uhr mit der Tastatur und den Knöpfen gemischt möglich ist, aber nach dem
Ausschalten mit der Tastatur bleibt der
Ein-Knopf
gesperrt. Der Grund ist, dass
KreisControl nichts von den
Knöpfen weiß und
DigitalView nicht benachrichtigen kann, den
Ein-Knopf
wieder zu erlauben. Daher ist es oft wünschenswert, ein gemeinsames Control-Objekt
für alle Views zu haben. In diesem Fall muss Controls Konstruktor mehrere View-Objekte
aufnehmen können:
public
Control(final
IModel model,
final
IView[] views) { … }
und die
Instanziierung in
main:
public
static
void
main(String[] args) {
IModel model =
new
Model();
new
Control(model,
new
IView[] {
new
KreisView(model),
new
DigitalView(model) }); }
Version: 19. April 2012
© Prof. Solymosi, 20102 Beuth-Hochschule für Technik Berlin, Fachbereich VI (Informatik und Medien)
solymosibht-berlin.de