--------Mark 2---------

December 22, 2005

Continuing to document Mica classes. There are over 800 classes, but optimistically about half has been unofficially documented over the years - so we are not looking eternity in the face here.

Mica is still JDK 1.4 compatible, though it is also being used to good effect with the JDK 1.5-based Obsidian Framework.

Some classes have been moved around with the idea that the parts, view, model and controller (and potentially even the widgets) packages can be left out of some types of Mica applications with the idea of making Mica lighter and even better for online graphics applications. Mica.jar is 2MB now and it would be great to get it down to 1MB or so.

December 9
, 2005


Mica javadocs are now online. Mica classic has been divided up into packages and some classes moved around some.

Still lots of documentation to add...as always.

  November 11, 2005

Mica still has the same features as Mica Classic except for the following general changes:

  • The general utility classes have been moved out of Mica into a separate package
  • The single package approach of Mica Classic has been changed to a more standard package-per-subdirectory approach - to make navigating javadocs easier if for no other reason.
  • Much of the higher level MVC classes (mostly found in the /model directory) will be removed
  • Many of the higher level custom widgets in the /parts directory will be moved and replaced, functionally, by the  XML-driven Obsidian Framework widget-generation capabilities.


Mica has complete support for advanced features such as infinite undo/redo, zoom and pan, network graph layouts and interactive graph templates, connections and connection points, annotations and annotation points, event handling and action percolation, layers and layer tabs, arrows, shadows, cut/copy/paste to/from clipboard, multiple printable pages, postscript, jpeg, and pdf output, rulers, toolhints, status bars, tool bars, complete working network and diagramming editors, graphics editor toolkit, and more...

  Mica is evolving and becoming a part of the Obsidian framework

Mica classic will still be around, but Mica 2.0 will be stripped down, partitioned into separate libraries, and with the MiModel front end replaced with the binders and generic data structures of the Obsidian Framework - and all in declarative XML.





Everything, from the menubar and scrollbars to the grid in the editor is 100% Mica in this window.


See Mica Classic


See Mica Classic
A Java Object-Oriented 2D Vector Graphics and User Interface Framework. Includes diagramming and network graphics editors. Free with source code.
Mica is a 2D, high-level, full-featured, object-oriented, hierarchical, structured, resolution-independent, mixed graphics and user interface widget library with multiple levels of drawing abstraction written completely in Java.

The system provides extensive support for rendering and manipulation of vector and raster graphics in two dimensions

A highly-customizable 'Graphics Window Object' is provided that supplies much of the functionality associated with 2D drawing programs.

Many graphics shapes, user interface widgets, interactors, and demo applications are included.

All graphics shapes, user interface widgets, interactors, layouts, connections, etc. are objects and sub-classable by the programmer.

Graphics shapes and user interface widgets can be arbitrarily arranged in container-part and reference-part directed acyclic graphs.

Graphics shapes and user interface widgets can be connected together with first-class connection objects into any number of directed or undirected (network) graphs.

The sizes and locations of graphics shapes and user interface independent widgets are specified in device-resolution-independent floating point coordinates and so have the same appearance and relative size regardless of the size or dots-per-inch of the particular screen or printer used for display.

Mixed graphics
Graphics shapes and user interface widgets share the same coordinate space, the same API and are of the same basic type.

Multiple levels
A variety of functionality/performance trade-off options are available from heavy-weight, full-featured graphics shapes to very-light-weight simple graphics shapes to an immediate rendering mode (in resolution-independent coordinates).

Written in Java
The robustness, ease-of-use, portability and the other buzzwords of Java are inherited by this software.




Copyright 1998 - 2005