2012-06-16 2 views
2

Comment enregistrer un graphe JUNG avec un noeud et un bord personnalisés? Le problème est, jusqu'à présent, nous avons pu enregistrer un graphe JUNG de champs avec des types primitifs comme entier, chaîne, etc. Mais le noeud personnalisé et le contour JUNG que nous travaillons impliquent l'utilisation de types de données comme ArrayList et des structures de données plus compliquées. le bord et/ou le noeud. J'ai beaucoup cherché sur le Web, mais je suis tombé sur la manière d'enregistrer un nœud/bord personnalisé simple en utilisant uniquement int ou string ou double. De plus, mon but n'est pas de sauvegarder un fichier image comme jpeg, etc. Le but est de le sauvegarder dans un format qui peut facilement être rechargé au format JUNG lorsque nécessaire pour effectuer certaines opérations.Enregistrement d'un graphique jung avec un noeud personnalisé et un bord

Comment peut-on sauvegarder un tel graphique?

Merci.

Répondre

3

Voici deux liens traitant de l'enregistrement d'un graphe Jung de la manière que vous avez décrite. Le point principal étant que vous devez sauvegarder en utilisant GraphML pour enregistrer les données des nœuds.

Ce lien est en cours d'enregistrement à l'aide de l'éditeur GraphML. http://halfclosed.wordpress.com/2010/12/04/graphml-with-jung-saving/

Ce lien concerne le chargement à partir d'un fichier GraphML. GraphML est un format de fichier pour sauvegarder des graphiques, car il stocke les données. http://halfclosed.wordpress.com/2010/12/04/graphml-with-jung-loading-from-graphml/

Il est à noter que cela ne sauvegarde pas nécessairement la mise en page. Malheureusement, sauvegarder vos données au format GraphML n'est pas complètement trivial, mais cela peut être fait.

+0

avez-vous une idée de ce qu'est un MyVertexFactory? J'ai essayé de répliquer le chargement à partir d'un fichier GraphML selon votre second lien, mais il n'y a aucune idée de ce qu'est une Factory ou comment l'implémenter ... merci – user299791

+0

Ça fait un moment mais en regardant le lien, son MyVertexFactory est juste un classe qu'il utilise, pour prendre la sortie GraphML et la traduire en une nouvelle instance de vertex. Fondamentalement MyVertexFactory.Create() est une fonction simple qui retourne une nouvelle instance de MyVertex. L'implémentation est probablement aussi simple que {return MyVertex(); } C'est juste un moyen pratique de faire de nouvelles instanciations de sa classe vertex personnalisée. – mwjohnson

Questions connexes