Как насчет JGraphT в сочетании с JGraph.
Посмотрите здесь простую демонстрацию с базовым взаимодействием
Взгляните на Graphviz, особенно на его левый компонент. Он должен удовлетворить ваши потребности.
Возможно, вы захотите взглянуть на Dynagraph .
РЕДАКТИРОВАТЬ: статья, посвященная Graphviz и Dynagraph, доступна здесь .
В зависимости от вашей реальной цели и потребностей вы можете рассмотреть возможность посещения processing.org . На сайте много демоверсий и, как и во многих других библиотеках, он бесплатный. Использование обработки не требует от вас многого учиться. Он похож на Java и написан на Java, но позволяет игнорировать большую часть структуры и кода Java и просто делать то, что вы хотите.
Поскольку вы упомянули, что хотите использовать x или y для кодирования, похоже, что вы еще не приняли решение о языке, так что это может стоить вашего времени. Проведите там 15 минут и посмотрите демоверсии, чтобы убедиться, что они предоставляют то, что вы ищете. Если скорость до единственного решения является одним из ваших критериев, это может сработать.
Моя первая мысль была ILOG Views (для Java, .Net, C ++), теперь принадлежащих IBM, но их цена скорее отвесный. Моей второй мыслью было бы yFiles (для Java или .NET), возможно, в сочетании с yEd (только для Java).
Если это все еще не помогает, взгляните на альтернативы в этом списке (скорее, без сортировки, некоторые инструменты не имеют открытого исходного кода, другие вам не подходят по другим причинам).