Как нарисовать (звездную) топологию в Java, динамически? - PullRequest
1 голос
/ 23 февраля 2010

Мне нужно динамически рисовать (звездочку) топологии в приложении с графическим интерфейсом Java. Под звездной топологией я имею в виду что-то вроде этого:

network topology
(источник: thebryantadvantage.com )

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

Я некоторое время гуглил, но не мог найти ничего полезного - может, я просто гуглял не по тем ключевым словам. Я также использую JFreeChart, но из того, что я вижу, нет класса, включенного для чего-то подобного. Мой друг предложил поиск библиотек для отображения ума для Java, но я могу просто найти готовые приложения, что является излишним.

Не могу поверить, что нет альтернативы, чтобы возиться с формами, линиями и т. Д.? В настоящее время я использую JTree, но я не могу поверить, что нет лучшего способа сделать это.

Дополнительная информация: У меня есть небольшое количество (<10) корневых узлов и, возможно, небольшое количество листьев (<10). Речь идет о сопоставлении ВМ <-> сервера, поэтому листья со временем будут менять своего родителя. Немного «анимации» при живой миграции было бы здорово, но на первом этапе это не требуется.

Спасибо, и прошу прощения за все, что я пропустил - это мой первый вопрос здесь.

Ответы [ 4 ]

2 голосов
/ 23 февраля 2010

Возможно GraphViz будет работать для вас?

РЕДАКТИРОВАТЬ:

ОК, как насчет JGraphT

1 голос
/ 24 февраля 2010

NetBeans предлагает хорошую графическую библиотеку ( визуальная библиотека ). Например. плагин maven использует это для отрисовки всех зависимостей

1 голос
/ 23 февраля 2010

Вот хорошая реализация StarLayout.

1 голос
/ 23 февраля 2010

Я считаю, что одна из демонстраций в JDK - это динамическая разметка графиков (не уверен на 100%, с тех пор, как я их запускал, прошли годы). Вам, вероятно, не понадобится его анимация, но я держу пари, что код довольно маленький и определенно автономный.

Возможно, вы могли бы адаптировать его так, чтобы шаги, необходимые для поиска макета, не анимировались; он просто отображает конечное состояние.

...