Search code examples
javauser-interfaceinterfacegraphjung

Java graph library for visualising flowchart-like diagrams


I'm in the process of making an interface for drawing flow chart like diagrams (essentially circuit diagrams) that contain nodes that look like the following:

       +-------+
in1 -->|       |---> out1
       |       |
in2 -->|       |
       |       |
in3 -->|       |---> out2
       +-------+

i.e. each box has several input edges and several output edges. For visual clarity, it makes more sense if all the input edges are grouped on one side and all the output edges are grouped on the other.

The interface will involve the user connecting the input and outputs of different boxes together.

I'm trying to find a Java library that will help me build such an interface easily which will also have automatic layout tools for keeping the diagrams clean. http://www.jgraph.com/ and http://jung.sourceforge.net/ look like they'll do most of what I need but I'm not sure about making the nodes look like the above where inputs and outputs are clumped together. For example, I can't see how I could do this with JUNG.

Can anyone suggest what library and should use and what I can do to make nodes look like the above?


Solution

  • You might also want to consider yWorks - it is product family for diagramming for Java applications.. I just started to evaluate their diagram editor, not much experience on it yet.