NetEditor: Java Library to Edit Diagrams

The Arakhnê.org Network Editor (NetEditor) is a free Java component that permits to edit and show connected-graphs. NetEditor is only composed by a drawing area in which you can draw nodes and edges.

NetEditor supports the following features:

This version of NetEditor is an original idea of Mahdi HANNOUN and Stéphane GALLAND. In 2001, we decide to develop a new graph-editing library because existing ones don't support our needs, or are to difficult to extend.

Note that the groupId and the artifactId of Maven modules to include can be found in the API document.

Details

Download

Because NetEditor is a Maven project, we recommend to use our Maven repository as explained in: Maven Repository of Arakhnê.org.

If you do not want to use Maven, you should dowload the Jar file manually:

Language Constructs Specification

NetEditor is designed to create editors for Visual Languages. NetEditor assumes the language constructs is separated than the graphical representations of these constructs. NetEditor also assumes all the language constructs is expressed with a graph composed with the three following concepts:

The language of the diagram that should be edited by NetEditor must be defined with Java classes that are extending the node, edge and anchor classes.

Language Constructs Figures

Each language construct (node, edge and anchor) may be associated to one graphical representation (also named the view of the construct). This graphical representation is in charge of the rendering of the construct's information on on a Java panel.

Example: a simple Finite State Machine editor

To illustrate the use of NetEditor, a simple Finite State Machine editor is provided. A tutorial explains to to create this editor step-by-step: FSM Editor Tutorial.