2013-04-07 3 views
0

Je voudrais changer la couleur de mes bords en utilisant Jgrapht afin que je puisse montrer la correspondance dans tout mon graphique. Supposons qu'il y ait un bord entre les nœuds 1 et 2. Je mettrai en évidence ces nœuds de couleur (disons) rouge. Je vais trouver les nœuds 1 et 2 dans le graphique entier et les montrer dans la couleur rouge et les nœuds restants dans une autre couleur. Je vois le fichier qui crée la visualisation est SimpleTouchgraphApplet.java Dans ce dossier, j'ajoute des déclarations commeJgrapht couleur de bord

setBackground(Color.green); 
setForeground(Color.cyan); 

J'ai ajouté les deux déclarations ci-dessus dans la section init. J'ai également ajouté les déclarations ci-dessous dans ma fonction principale.

Color defaultBackColor = new Color(0x01, 0x11, 0x44); 
JFrame frame = new JFrame(); 
frame.setBackground(defaultBackColor); 
frame.setForeground(Color.CYAN); 

Cependant, je ne vois aucun changement dans la couleur de premier plan ou de fond. S'il vous plaît laissez-moi savoir où je vais mal.

Répondre

0

J'ai trouvé que la coloration de bord peut être ajoutée dans le fichier TouchGraphConverter.java.

La fonction suivante construit les nœuds.

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

la dernière ligne, tgNodes [i] .setBackColor (color.red) fera la couleur du nœud au rouge dans le graphique généré.