Release Notes Version 5.2
Note: This version requires Swing/JFC 1.1
The purpose of this release is to:
- Use Swing/JFC GUI elements instead of AWT (where possible)
- Support for special Swing/FC features:
- Support for Multiple Document Interface (MDI) applications with several
internal frames has been added. CH.ifa.draw.contrib.MDI_DrawApplicationis
the base class which must be subclasses to takeadvantage of managing internal
frames. All examples are now derived from this class.
- Support for applications with splitted editor windows by deriving
the drawing application from CH.ifa.draw.contrib.SplitPaneDrawApplication
- Drawing windows have scrollbars
- Popup menus are available for additional functionality and control
over graphical figures when using CH.ifa.draw.contrib.CustomSelectionTool
- Toolbars can have different tools depending on the context of the
currently selected figure and tool
- A new composite figure is available which delegates its graphical
representation and figure attributes to another figure. Moreover, it canbe
configured with an external layout algorithm that contains the logic forhow
to lay out the child elements of the composite figure. The new compositefigure
is CH.ifa.draw.contrib.GraphicalCompositeFigure and can be configuredby a
class implementing CH.ifa.draw.contrib.FigureLayoutStrategy such asCH.ifa.draw.contrib.StandardFigureLayoutStrategy.
- New CH.ifa.draw.util.StorageFormats that allow to add new file formats
for storing and restoring drawings (e.g. using XML)
- Build configuration for Ant
, which can be used to compile all standard JHotDraw classes, to packagethem
into a jar file and to generate javadoc information. Some instruction how
to compile and build JHotDraw can be found here
.
- Some minor bug fixes
From the change log
==========
JHotDraw 5.2 changes (29.6.2001 by MrFloppy)
- SelectionFigure is now an interface. The default implementation CH.ifa.draw.standard.StandardSelectionFigure
- A FigureSelectionListener interface has been introduced in CH.ifa.draw.framework. An DrawingEditor
is now a FigureSelectionListener and the signature for all selectionChanged() methods has been
changed to figureSelectionChanged().
- CH.ifa.draw.util.Command is now an interface. A AbstractCommand can be found in CH.ifa.draw.standard.
- All commands used to have a fView field. This has been moved to CH.ifa.draw.standard.AbstactCommand
- A CH.ifa.draw.standard.StandardDrawingView has now a paintComponents() method instead of a paint()
and update() method. This allows the CH.ifa.draw.util.FloatingTextField to be a javax.swing.JTextField
instead of a java.awt.TextField.
- CH.ifa.draw.figures.AbstractLineDecorator has been missing
- DrawApplet, DrawApplication and derived classes are now programmed towards the DrawingView interface
instead of using StandardDrawingView. That leads to occasional cast when some additional StandardDrawingView
functionality is required in some specialized cases. Applications that were derived from DrawApplication
and used to override the createContents() methods should now return a DrawingView as well