Introduction
JHotDraw is a two-dimensional graphics framework for structured drawing
editors that is written in Java. It is based on Erich Gamma's JHotDraw,
which is copyright 1996, 1997 by IFA Informatik and Erich Gamma.
JHotDraw 7
is a major departure from previous versions of JHotDraw – only
the cornerstones of the original architecture remain. The API and almost
every
part of the
implementation
have been
reworked
to take advantage
of the Java SE 5.0 platform. JHotDraw 7 has been developed in 2004–2006
by Werner Randelshofer.
Aims
The aim of making JHotDraw an open-source project
is:
- to gain a wider audience for this framework among developers
- to build
new applications based upon JHotDraw
- to let application development influence
the development of JHotDraw
- to add new and advanced features
- to drive its further development
- to port JHotDraw to new Java GUI toolkits
- to enhance and refactor the
exisiting code
- to identify new design patterns and refactorings
- to make it an example
for a well-designed and flexible framework
- to examine the relevance of new
Java APIs to JHotDraw (e.g. usefulness of Java 2D API for JHotDraw)
- to learn and to have fun
Any developer and software designer who wants to contribute is welcome!
Downloads
The latest version of JHotDraw to download is available at http://sourceforge.net/projects/jhotdraw
The JHotDraw 7 download files are currently hosted at http://www.randelshofer.ch/oop/plasmadraw/
Online Information
More documentation about older versions of JHotDraw can be found here:
- JavaWorld published
an introductionary article about JHotDraw 5.2: «Become
a programming Picasso with JHotDraw». The accompanying
example application JModeller – a simple UML editor built using JHotDraw
– shows
some of the
described design patterns and demonstrates how to use and extend existing
classes.
- A description
of the design patterns used in JHotDraw 5.x in the form of a pattern
language by Douglas Kirk. Especially, the pattern
index in form
of a clickable
pattern map shows the relation of different patterns.
- A case
study about
JHotDraw 5.1 can be found in the dissertation of Dirk Riehle.
- The results
to the survey «Applications for JHotDraw» may give
you some impressions about the usability and applicability of the JHotDraw
framework to your requirements. This survey was based on version 5.2
of JHotDraw, many of the problems and difficulties related
to the framework
have been resolved or have become irrelevant with JHotDraw 7.
Get Involved
JHotDraw is hosted on SourceForge. You can have a look at the internal
JHotDraw developer
web page and register
as developer at SourceForge.
Please contact
one of the admins for the JHotDraw project to get added as a developer.