到目前为止,我一直在寻找可以在 Java/Swing 中可视化消息序列的东西,例如可以可视化的东西,但无济于事
是否有任何摆动组件可以做到这一点?
(有一些工具可以通过运行外部命令来做到这一点,因为这些工具的结果是图像文件,它们不适合即时更新,这将是我的用例)
我的回答只是一个临时建议。有一个相当不错的工具叫做Quick Sequence Diagram Editor。开箱即用,它将为您提供所需的 Swing 组件和相当不错的 DSL。
也许您只生成一个文本图表表单并让图表编辑器背后的逻辑来完成其余的工作可能会更容易(我认为一些模板引擎可能会进一步简化任务)。
DSL 示例:
bfs:BFS[a]
/queue:FIFO
someNode:Node
node:Node
adjList:List
adj:Node
bfs:queue.new
bfs:someNode.setLevel(0)
bfs:queue.insert(someNode)
[c:loop while queue != ()]
bfs:node=queue.remove()
bfs:level=node.getLevel()
bfs:adjList=node.getAdjacentNodes()
[c:loop 0 <= i < #adjList]
bfs:adj=adjList.get(i)
bfs:nodeLevel=adj.getLevel()
[c:alt nodeLevel IS NOT defined]
bfs:adj.setLevel(level+1)
bfs:queue.insert(adj)
--[else]
bfs:nothing to do
[/c]
[/c]
[/c]
bfs:queue.destroy()
请注意,我实际上建议将 sdedit 组件嵌入到您的应用程序中,但不要将其用作外部工具。顺便说一句,许可证是相当宽松的。