Java Object-Oriented 2D Vector Graphics and User Interface Framework and Toolkit
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
docs first commit Jan 28, 2014


Mica: Java Object-Oriented 2D Vector Graphics and User Interface Framework. Includes diagramming and network graphics editors. 
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. A Graphics Object Model is also provided that abstracts general node-link data structures.

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 scene 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.

The source code was last updated in 2004. A very full-featured ECAD package was the last application written on this. It is quite robust, and exceeds Swing and GED in functionality (last I checked), but I am not able to offer much support at this time.

More information is at: