I'm going to need to write a program that takes a list of persons and connects them together in a directed-graph-like manner. The GUI aspect of the whole project is very important. The graph must allow a lot of interaction. Such as selecting several people and hiding the others, moving them around.
Additionally, the software will need to be able to provide other kind of GUI-features such as several tabs, text boxes etc.
The application must be quite efficient. As in, it must be able to handle hundreds if not thousands of widgets.
Hence, I would like to know which open source libraries (at this point the programming language they are written in does not matter - I just want an overview of everything good that is out there) would allow me to develop such piece of software? What would you recommend?
Edit: Could you please also link to tutorials explaining how I could program a GUI that can interact with the generated graph? For example mouse events.
How about JGraphT in combination with JGraph.
Check here for a simple demo with basic interaction
Take a look at Graphviz, especially its lefty component. It should satisfy your needs.
http://en.wikipedia.org/wiki/Graphviz
Depending on your actual goal and needs, you might consider taking a look at processing.org. The site has many demos and like many other libraries, it is free. Using Processing does not require you to learn much. It is similar to Java and written in Java, but allows you to ignore much of the Java structure and code and just do what you want.
Since you mentioned that you would want to use x or y to code in, it sounds like you have not made a language decision, so this might be worth your time. Spend 15 minutes there and look at the demos to see if it provides what you are looking for. If speed to a single solution is one of your criteria, this might do it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With