Библиотека Java graph для визуализации диаграмм, похожих на блок-схемы

#java #user-interface #interface #graph #jung

#java #пользовательский интерфейс #интерфейс #График #юнг

Вопрос:

Я нахожусь в процессе создания интерфейса для рисования блок-схем, подобных диаграммам (по сути, схемным схемам), которые содержат узлы, которые выглядят следующим образом:

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

т.е. каждый блок имеет несколько входных ребер и несколько выходных ребер. Для наглядности имеет больше смысла, если все входные ребра сгруппированы с одной стороны, а все выходные ребра сгруппированы с другой.

Интерфейс будет включать в себя подключение пользователем ввода и вывода различных блоков вместе.

Я пытаюсь найти библиотеку Java, которая поможет мне легко создать такой интерфейс, который также будет иметь автоматические инструменты компоновки для поддержания чистоты диаграмм. http://www.jgraph.com / и http://jung.sourceforge.net / похоже, они будут делать большую часть того, что мне нужно, но я не уверен, что узлы будут выглядеть так, как указано выше, где входы и выходы объединены вместе. Например, я не вижу, как я мог бы сделать это с Юнгом.

Может кто-нибудь подсказать, какую библиотеку и следует использовать, и что я могу сделать, чтобы узлы выглядели так, как указано выше?

Комментарии:

1. IIRC вы можете определить расположение портов в JGraph, я не знаком с JUNG. Из изображений ясно, что вы можете ; извините, я не помню больше.

2. Возможно, вы можете заглянуть в Eclipse Graphical Editing Framework (GEF), и в этом блоге обсуждается, как кодировать GEF http://www.vainolo.com/2011/05/24/the-quest-for-the-perfect-java-graph-framework /

3. Итак, вы нашли решение этого вопроса?

Ответ №1:

Вы также можете рассмотреть yWorks — это семейство продуктов для построения диаграмм для приложений Java.. Я только начал оценивать их редактор диаграмм, еще не имея большого опыта в этом.

Ответ №2:

Мне очень нравится graphviz от AT amp; T. Я не уверен, что вы согласитесь, но об этом стоит подумать.

Комментарии:

1. Это не будет хорошо работать для того, что мне нужно, так как мне нужны пользователи для интерактивного подключения узлов, а graphviz на самом деле не подходит для динамически изменяющихся графиков.