2

我想使用 JUNG 库在一个框架中可视化一些图表(实际上是 JInternalFrame,因为我在图表之外还有其他东西)。我的课上有很多代码,但我只是给出简短的版本,我如何创建组件来显示图表:

  1. 创建图表的布局,根据图表的类型,我创建了不同的布局
  2. 创建一个以布局为参数的 VisualizationViewer。
  3. 创建一个包含 VisualitationViewer 的 GraphZoomScrollPane。
  4. 将 GraphZoomScrollPane 设置为框架的内容窗格。

最终效果是,显示了滚动条,但即使图形大于框架,滚动条也不会启用。如果我减小框架的大小,则启用滚动条,但我无法滚动查看整个图表。所以无论框架有多大,我都看不到整个图表。

我也试过设置布局的大小,VisualizationViewer的大小,但是没有用。

有人可以告诉我我错过了什么吗?

4

2 回答 2

1

如果有人仍然需要解决方案:

JFrame jFrame=new JFrame("Graph");
Dimension preferredGraphSize=new Dimension(2500,2500);
Layout<V,E> layout=new FRLayout<>(graph, preferredGraphSize);
VisualizationViewer<V,E> visualizationViewer=new VisualizationViewer<>(layout, preferredGraphSize);

ScrollPane scrollPane=new ScrollPane();
scrollPane.add(visualizationViewer);
jFrame.getContentPane().add(scrollPane);
jFrame.pack();
jFrame.setVisible(true);

我们为布局设置了首选大小,并在 a和滚动作品VisualizationViewer中包裹。VisualizationViewerScrollPane

于 2013-08-12T20:11:14.637 回答
0

至少针对我的具体情况找到了一种解决方法:

我实现了VisualizationViewer.GraphMouse,当鼠标点击空白处时,移动整个图形,这样就可以看到不可见的部分。所以不需要滚动窗格。

但是如果确实需要滚动窗格,问题仍然存在。

于 2013-08-03T21:55:25.060 回答