GEF is a graph editing library that can be used to
construct many, high-quality graph editing
appications. It features a simple, concrete
design, a Node-Port-Edge graph model that is
powerful enough for the vast majority of
connectied graph applications, a
Model-View-Controller design based on the Swing
Java UI library, and high-quality user
interactions for moving, resizeing, reshaping,
etc. It also supports several novel interactions
such as the broom alignment tool and
secltion-action-buttons.