2009-08-16 9 views
0

Hier ist mein Problem. Ich habe ein etwas komplexes Domänenobjekt, das je nach Zustand auf bestimmte Aktionen reagiert. Ich denke, dass das Staatsmuster so ziemlich die Lösung dafür ist. Ich muss jedoch anzeigen, welche Aktionen in der Benutzeroberfläche jederzeit möglich sind.Wie kann die Benutzeroberflächensteuerung basierend auf dem Status des Domänenobjekts deaktiviert werden?

Beispiel: Das Domänenobjekt ist ein Audio-Player. Einige Songs können nicht übersprungen werden (wie Anzeigen), deshalb muss ich die "next" und "previous" Buttons in der GUI deaktivieren, damit der Benutzer Feedback darüber hat, welche Aktion er ausführen kann.

Ich habe die Action-Klasse von Swing angeschaut (Anmerkung: Dies ist kein Java-Projekt), aber ich denke, ich müsste alle Aktionen in meiner Domain-Objektklasse (Audio-Player) behalten, damit sie aktiviert oder deaktiviert werden können abhängig von seinem eigenen Status (also die Benutzeroberfläche beeinflussen).

Ist es der Weg, es zu tun?

Antwort

0

Die Art, wie ich dies in C# -Winforms tun würde, ist durch das Binden der Enabled-Eigenschaft des Steuerelements an eine Eigenschaft im Geschäftsobjekt. Control.DataBinding.Add ("Enabled", "Eigenschaft von BO")

Verwandte Themen