首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >容格可视化

容格可视化
EN

Stack Overflow用户
提问于 2014-04-02 23:48:11
回答 3查看 236关注 0票数 0

有没有人知道你是否能够在JUNG中为顶点标签设置文本的颜色。

我正在使用可视化查看器,似乎可以为其他所有内容设置颜色。

代码语言:javascript
复制
vv =  new VisualizationViewer<String,Integer>(treeLayout, new Dimension(410,557));
Transformer<String,Paint> vertexPaint = new Transformer<String,Paint>() {
   public Paint transform(String b) {
      return Color.orange;
   }
};

vv.setBackground(Color.white);
vv.getRenderContext().setEdgeShapeTransformer(new EdgeShape.Line());
vv.getRenderContext().setVertexLabelTransformer(new ToStringLabeller());
vv.getRenderContext().setVertexFillPaintTransformer(vertexPaint);
//vv.getRenderContext().setVertexFontTransformer(vertexFont);


// add a listener for ToolTips
vv.setVertexToolTipTransformer(new ToStringLabeller());
vv.getRenderContext().setArrowFillPaintTransformer(new ConstantTransformer(Color.WHITE));
EN

回答 3

Stack Overflow用户

发布于 2018-02-14 20:14:45

DefaultVertexLabelRenderer和DefaultEdgeLabelRenderer扩展了JLabel (它类似于单元格渲染器在JTable和JTree中的工作方式)。默认情况下,它使用VisualizationViewer的前景色来绘制标签文本。

代码语言:javascript
复制
vv.setForegroundColor(Color.red);

会让你所有的标签都变成红色。这种方法比让所有标签解析HTML的开销要小。

很抱歉,解决方案如此晦涩。

此外,由于默认渲染器扩展了JLabel,因此html的用法与JLabel的用法相同。有很好的在线资源来展示在javax.swing中使用html的例子。缺少的是在JUNG中使用html和在javax.swing中使用html之间建立联系的文档。

票数 1
EN

Stack Overflow用户

发布于 2014-04-03 02:28:33

您可以在标签中使用超文本标记语言来指定颜色;示例如下:https://stackoverflow.com/a/2017576/664856

票数 0
EN

Stack Overflow用户

发布于 2014-04-03 02:39:26

在你的情况下,

代码语言:javascript
复制
vv.getRenderContext().setVertexLabelRenderer(new DefaultVertexLabelRenderer(Color.RED));

应该可以工作(如果希望选定的顶点为红色)。我自己测试过的。这将应用于选定的顶点。

在检查代码时,我必须相信我提供的链接对于那些未被选中的顶点是正确工作的,但我实际上并没有尝试实现该链接。

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

https://stackoverflow.com/questions/22816672

复制
相关文章

相似问题

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