首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Prefuse:为边缘添加标签?

Prefuse:为边缘添加标签?
EN

Stack Overflow用户
提问于 2012-05-03 18:42:24
回答 3查看 1.4K关注 0票数 1

在我的prefuse可视化中,我想给边缘添加标签。我遵循了这里提出的一些例子,但我不能将其应用到工作中:

我将此渲染器用于我的边:

代码语言:javascript
复制
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,则会绘制文本,但不会绘制边缘。我怎么才能让它工作呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-03 21:57:48

遵循prefuse的架构,您将为标签创建一组单独的可视项目,即所谓的DecoratorItem

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

票数 1
EN

Stack Overflow用户

发布于 2012-05-03 22:04:51

另一种更特别的解决方案:

  • 扩展EdgeRenderer
  • 负责在render方法中绘制标签。
  • 调用super.render让prefuse绘制边缘。
票数 0
EN

Stack Overflow用户

发布于 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

致以问候。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10429735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档