Frage

Ich habe über Staatsmuster gelesen, und jetzt möchte ich mein Wissen weiter fördern, indem ich eine Swing-Anwendung erkundet (explizit: Rechner), der es implementiert.

Wo finde ich ein solches Tutorial?

Es muss eine wirklich einfache Anwendung zeigen, die Swing verwendet.Ich bin verwirrt darüber, wie das staatliche Muster in einem Swing-Projekt verwendet werden könnte?

War es hilfreich?

Lösung

Ich denke wirklich nicht, dass eine Taschenrechneranwendung eine gute Übereinstimmung für das staatliche Muster ist.Ein einfacher Rechner hat nicht zu viele Zustände, vielleicht ein / aus, aber das ist zu trivial.Ein Zeichnungswerkzeug ist ein besseres Spiel.

Wenn Sie wirklich einen Rechner auf der Grundlage des staatlichen Musters entwickeln möchten, müssen Sie wirklich ziemlich kreativ sein.Aber warum nicht?Sie können einen Taschenrechner erfinden / implementieren, in dem die Grundvorgänge (Addition, Teilstraction, Multiplikation, Division) Modi sind (Zustände):

generasacodicetagpre.

Dies ist ein sehr einfacher und grundlegender Entwurf und deckt natürlich den Ansichtsteil nicht ab (Swing-Dialog oder was auch immer).Im Dialogfeld können Sie vier Optionsschaltflächen verwenden, um die Modi, ein Textfeld, um Eingabe und ein Textfeld oder ein Etikett einzustellen, um das tatsächliche Ergebnis zu drucken.

Andere Tipps

Eine Probe, die Sie finden hier

Ich habe dieses Muster in einer Schwenkapplikation verwendet, um ein ausgewähltes A-Zeichnungswerkzeug (Linie, Polygon usw.) darzustellen.

Eine vollständige Anwendung, die das staatliche Muster auf diese Weise nutzt, ist jhotdraw

edit: Für einen Taschenrechner kann es verwendet werden, um Tastenanschläge (eingegebene Ziffern und Bediener) im Berechnungsmodus (== Status) und im Diagrammzeichnungsmodus (2. Zustand) zum Zoomen und zur Bewegung des angezeigten Diagramms zu kartieren.

.

Um einen Modus wie DEG, RAD und GRA (Grad, Radians) darzustellen, sollten Sie das Zustandsmuster nicht verwenden.Dies wäre übertrieben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top