首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jgrapht边缘颜色

Jgrapht边缘颜色
EN

Stack Overflow用户
提问于 2013-04-07 17:23:35
回答 1查看 1.6K关注 0票数 0

我想用Jgrapht改变我的边的颜色,这样我就可以在我的整个图中显示对应的内容。让我们假设节点1和2之间有一个边缘,我将用(比如说)红色突出显示这些节点。我将在整个图中找到节点1和2,并以红色显示它们,以其他颜色显示其余的节点。我看到在这个文件中创建可视化的文件是SimpleTouchgraphApplet.java,我添加的语句如下,

代码语言:javascript
复制
setBackground(Color.green);
setForeground(Color.cyan);

我在init部分中添加了上述两个语句。我还在我的主要职能中添加了以下说明。

代码语言:javascript
复制
Color defaultBackColor = new Color(0x01, 0x11, 0x44);
JFrame frame = new JFrame();
frame.setBackground(defaultBackColor);
frame.setForeground(Color.CYAN);

然而,我没有看到前景或背景色的任何变化。请告诉我哪里出了问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-08 21:14:23

我发现可以在TouchGraphConverter.java文件中添加边缘着色。

下面的函数构造节点。

代码语言:javascript
复制
public Node convertToTouchGraph(
    Graph<V, E> graph,
    TGPanel tgPanel,
    boolean selfReferencesAllowed)
    throws TGException
{
    List<V> jgtNodes = new ArrayList<V>(graph.vertexSet());
    Node [] tgNodes = new Node[jgtNodes.size()];

    // add all the nodes...
    for (int i = 0; i < jgtNodes.size(); i++) {
        Node n;
        if (jgtNodes.get(i) instanceof Node) {
            // if our JGraphT object was a touchGraph node, add it unaltered
            n = (Node) jgtNodes.get(i);
        } else {
            // create a TG Node with a "label" and "id" equals to the
            // objects toString() value
            n = new Node(jgtNodes.get(i).toString());

        }

        // store this for edge-related creation below
        tgNodes[i] = n;
        tgPanel.addNode(n);
        tgNodes[i].setBackColor(Color.RED);

最后一行tgNodesi.setBackColor(Color.RED)将使生成的图形中的节点颜色变为红色。

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

https://stackoverflow.com/questions/15865388

复制
相关文章

相似问题

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