from Wikipedia, the free encyclopedia

JHotDraw is a free, Java- based framework for creating graphical editors. Typical components of this type of editor are domain-specific, graphic objects (Figures) and views, tool palettes and a consistent way of probing and manipulating these objects.

Applications from JHotDraw

UML editors, workflow management systems or (graphic) Petri net simulators are predestined applications for JHotDraw.

Using JHotDraw

A characteristic difference compared to class libraries is that the control flow is specified by the framework . The user of the framework can be via inheritance and overloading on designated methods to handling events ( mouse - / keyboard - Events engage to implement domain-specific functionality, repaint events).

Design pattern in JHotDraw

JHotDraw is (not only) often used in academia to the profitable use of design patterns (Engl. "Design patterns") to demonstrate and investigate. Erich Gamma , co-author of the GoF book "Design Patterns - Elements of Reusable Object-Oriented Software" is one of the developers of JHotDraw.


JHotDraw has its roots in the Smalltalk -based "HotDraw" framework.


There are several other frameworks that offer functionality similar to JHotDraw. The main competitor is the Graphical Editing Framework (GEF) from the Eclipse project, which is also free of charge and uses the SWT toolkit instead of AWT / Swing . This means that when choosing the widget toolkit, you are relatively determined, even if bridge components are being developed to be able to use Swing / Java2D-based subsystems with SWT (and vice versa). The Piccolo project offers a complex, scene-graph based approach to the representation of figures and, as a special feature, stepless enlargement based on Java2D.

See also

Web links