【问题标题】:Prefuse: Adding labels to edges?Prefuse:向边缘添加标签?
【发布时间】:2012-05-03 10:42:23
【问题描述】:

在我的 prefuse 可视化中,我想为边缘添加标签。我遵循了一些关于 SO 的示例,但我无法将其用于工作:

我将这个渲染器用于我的边缘:

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);
    }

}

现在的问题是,文本没有显示,但边缘以一种奇怪的形式绘制。那就是它们没有正确绘制。如果我不覆盖渲染,则绘制文本,但没有边缘。我怎样才能做到这一点?

【问题讨论】:

    标签: prefuse


    【解决方案1】:

    按照 prefuse 的架构,您将为标签创建一组单独的可视项目,称为DecoratorItem

    可以在 TreeMap 演示中找到一个示例: https://github.com/prefuse/Prefuse/blob/master/demos/prefuse/demos/TreeMap.java

    【讨论】:

      【解决方案2】:

      另一种更临时的解决方案:

      • 扩展EdgeRenderer
      • 注意在render 方法中绘制标签。
      • 致电super.render 让prefuse 绘制边缘。

      【讨论】:

        【解决方案3】:

        你可以检查这个问题:

        Displaying edges labels in prefuse (java) graphs

        google把这里和之前的问题发给我,找了一些代码,最近找到了以下版本,运行ok。

        http://netgrok.googlecode.com/svn-history/r2/trunk/src/test/AggregateDecoratorDemo.java

        问候。

        【讨论】:

          猜你喜欢
          • 2013-11-03
          • 2011-12-22
          • 2010-12-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-10-24
          • 2010-10-04
          相关资源
          最近更新 更多