JHotDraw
JHotDraw ist ein freies, Java-basiertes Framework zur Erstellung von grafischen Editoren. Typische Bestandteile dieser Art von Editoren sind domänenspezifische, grafische Objekte (engl.: Figures) und Sichten (engl.: Views), Werkzeugpaletten (engl.: tool palette) und eine konsistente Art und Weise diese Objekte zu sondieren und zu manipulieren.
Anwendungen von JHotDraw
BearbeitenUML-Editoren, Workflow-Management-Systeme oder (grafische) Petri-Netz-Simulatoren sind prädestinierte Anwendungen für JHotDraw.
Benutzung von JHotDraw
BearbeitenCharakteristischer Unterschied gegenüber Klassenbibliotheken ist, dass der Kontrollfluss vom Framework vorgegeben wird. Der Benutzer des Frameworks kann sich mittels Vererbung und dem Überladen dafür vorgesehener Methoden in die Ereignisverarbeitung (Maus-/Tastatur-Events, Repaint-Events) einklinken, um domänenspezifische Funktionalität zu implementieren.
Entwurfsmuster in JHotDraw
BearbeitenJHotDraw wird (nicht nur) im akademischen Bereich gerne genutzt, um den gewinnbringenden Einsatz von Entwurfsmuster (engl. "design patterns") zu demonstrieren und zu untersuchen. Erich Gamma, Mitautor des GoF-Buchs "Entwurfsmuster – Elemente wiederverwendbarer objektorientierter Software" ist einer der Entwickler von JHotDraw.
Wurzeln
BearbeitenDie Wurzeln von JHotDraw liegen im Smalltalk-basierten "HotDraw"-Framework.
Alternativen
BearbeitenEs gibt diverse andere Frameworks, die ähnliche Funktionalität bieten wie JHotDraw. Hauptkonkurrent ist das ebenfalls kostenlose Graphical Editing Framework (GEF) aus dem Eclipse-Projekt, welches statt AWT/Swing das SWT-Toolkit nutzt. Damit ist man bei der Wahl des Widget-Toolkits relativ festgelegt, auch wenn Brücken-Komponenten entwickelt werden um Swing/Java2D-basierte Subsysteme mit SWT (und umgekehrt) nutzen zu können. Das Piccolo-Projekt bietet einen komplexen, Scene-Graph basierten Ansatz zur Darstellung von Figuren sowie als spezielles Merkmal stufenlose Vergrößerung auf Basis von Java2D.