用Swing绘制图形:一般方法

cda*_*win 5 java swing drawing graph

假设我有一个由节点和边组成的图,我想在Swing应用程序中绘制它.我不是Swing程序员,但据我所知,我看到两种方法:

  1. 将整个图形绘制为一个组件
  2. 将每个节点和边缘绘制为单个组件

我见过第一个应用程序.要拖动绘制为圆形的节点,应用程序将检查与所单击点最近的节点.在我看来,这不是很有效.第二种方法可行吗?应该遵循哪一个,为什么?

Dav*_*vid 7

我们编写和维护JGraph,经过10年的努力,我们仍然只有一个flyweight渲染器可以绘制所有单元格.原因是每个单元的组件的内存成本.缺点是你需要自己处理刷新和事件处理,但它并没有那么糟糕.

我们已经多次进行了覆盖,总是得出相同的结论.