Skip to content

Instantly share code, notes, and snippets.

@jdittrich
Last active January 16, 2025 18:38
Show Gist options
  • Save jdittrich/c31185cd3667e4d48864b902a983e3d0 to your computer and use it in GitHub Desktop.
Save jdittrich/c31185cd3667e4d48864b902a983e3d0 to your computer and use it in GitHub Desktop.

How To run jhotdraw 5

This is a piece of OOP history. HotDraw is a small diagramming/drawing tool, originally developed 1987 in Smalltalk by Ward Cunningham and Kent Beck. It would be even better to run the original hotdraw in Smalltalk, but I was not successful so far, so here is the Java port, 13 years older than the original, but the oldest version I could find.

  • Download hotdraw 5.2 (I could not get 5.4 to run) from https://sourceforge.net/projects/jhotdraw/files/JHotDraw/5.2/
  • There are some variables called enum but that is now a reserved name so, search the project for the string enum and replace these with myEnum or something like that.
  • There is one ambiguous import in StandardDrawingView.java. Resolve that by appending to StandardDrawingView.java’s list of imports this: import CH.ifa.draw.framework.Painter;
  • Now run CH.ifa.draw.samples.nothing.NothingApp (Less features, single doc) or CH.ifa.draw.samples.javadraw.JavaDrawApp.java (more features, multi doc)

Now, the program should appear and look like a very old (~year 2000) Java program.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment