在我的prefuse可视化中,我想给边缘添加标签。我遵循了这里提出的一些例子,但我不能将其应用到工作中:
我将此渲染器用于我的边:
private class CustomEdgeRenderer extends LabelRenderer {
private EdgeRenderer edgeRenderer = new EdgeRenderer();
@Override
public String getText(VisualItem item) {
System.out.println("edgerenderer");
return "test";
}
@Override
public void render(Graphics2D g, VisualItem item) {
edgeRenderer.render(g, item);
item.setTextColor(BLACK);
}
}现在的问题是,文本没有显示,但边缘以一种奇怪的形式绘制。这就是说,它们没有正确绘制。如果不覆盖render,则会绘制文本,但不会绘制边缘。我怎么才能让它工作呢?
发布于 2012-05-03 21:57:48
遵循prefuse的架构,您将为标签创建一组单独的可视项目,即所谓的DecoratorItem。
可以在TreeMap演示中找到一个示例:https://github.com/prefuse/Prefuse/blob/master/demos/prefuse/demos/TreeMap.java
发布于 2012-05-03 22:04:51
另一种更特别的解决方案:
EdgeRenderer。render方法中绘制标签。super.render让prefuse绘制边缘。发布于 2012-05-09 12:50:08
你可以检查这个问题:
Displaying edges labels in prefuse (java) graphs
谷歌发送我在这里和前面的问题,并寻找一些代码,我最近找到了以下版本,并运行ok。
http://netgrok.googlecode.com/svn-history/r2/trunk/src/test/AggregateDecoratorDemo.java
致以问候。
https://stackoverflow.com/questions/10429735
复制相似问题