2010-11-14 23 views
0

J'utilise l'API JUN pour la visualisation graphique. Je ne peux pas comprendre comment changer l'étiquette de bord d'un bord dans le graphique.Comment changer l'étiquette de bord d'une arête dans JUNG?

La situation est que le graphique a déjà été créé dans le programme. Je continue de laisser tomber les arêtes et les nœuds et j'ai trouvé un moyen d'animer ces choses et de les mettre à jour dans le graphique. Certaines démos en ligne sont utiles. Mais n'y a-t-il aucun moyen de changer une étiquette de bord d'un bord dans le graphique plus tard? Je comprends que JUNG exige que les étiquettes de bord soient uniques.

Toute aide serait formidable, merci.

Répondre

1

Les bases de l'étiquetage de pointe dans JUNG sont mises en évidence par ce bout de code:

  vv.getRenderContext().setEdgeLabelTransformer(new Transformer<MyEdge, String>() { 
       public String transform(MyEdge e) { 
        return (e.toString() + " " + e.getWeight() + "/" + e.getCapacity()); 
       } 
      }); 

Ici, vv est votre VisualizationViewer et myEDGE fait référence à votre classe de bord personnalisé. Dans mon cas, j'ai défini les fonctions getWeight() et getCapacity() pour renvoyer le poids et la capacité de mon bord.

Ensuite, j'ai créé un menu contextuel pour chaque bord qui permet à l'utilisateur d'entrer le poids de bord et de la capacité, puis utilisé le setWeight() et setCapacity() fonctions pour mettre à jour mon bord. J'ai ramassé exactement comment créer les popups de bord de http://www.grotto-networking.com/JUNG/

Vous pouvez emprunter de cet exemple pour définir vos propres étiquettes de bord.