Dessiner une cercle avec Jgraph

imenmannou Messages postés 20 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 16 mai 2011 - 25 mars 2008 à 19:37
 inconnue - 19 avril 2015 à 16:08
Salut,
Je veux dessiner une cercle avec Jgraph, alors j'au fait deux classes la première nomée class CircleView et son code est le suivant :
public class CircleView extends VertexView {
private static MyRenderer renderer = new MyRenderer();
public CircleView() {
try {
jbInit();
}
catch (Exception ex) {
ex.printStackTrace();
}
}

public CircleView(Object object) {
super(object);
}

public CellViewRenderer getRendererCompenement() {
return renderer;
}

public Point2D getPerimeterPoint(EdgeView edge, Point2D source, Point2D p) {
if (getRenderer() instanceof MyRenderer)
return ( (MyRenderer) getRenderer()).getPerimeterPoint(this, source, p);
return super.getPerimeterPoint(edge, source, p);
}

private void jbInit() throws Exception {}

public static class MyRenderer extends VertexRenderer {
public Dimension getPreferredSize() {
Dimension d = super.getPreferredSize();
d.width += d.width / 5;
d.height += d.height*4;
return d;
}

public void paint(Graphics g) {
int b = borderWidth;
Dimension d = getSize();
int height = d.height - b;
boolean tmp = selected;
// create 2D by casting g to Graphics2D
Graphics2D g2 = (Graphics2D) g;

if (super.isOpaque()) {
g.setColor(super.getBackground());
if (gradientColor != null && !preview) {
setOpaque(false);
g2.setPaint(new GradientPaint(0, 0, getBackground(), getWidth(), getHeight(), gradientColor, true));
}
g2.fillOval(b, b, height, height);
}
try {
setBorder(null);
setOpaque(false);
selected = false;
super.paint(g);
}
finally {
selected = tmp;
}
if (selected) {
g2.setStroke(GraphConstants.SELECTION_STROKE);
g2.setColor(highlightColor.gray);
g2.drawOval(b, b, height, height);
}
}
}

*******************
La deuxième classe est une classe de test de la première classe son code est le suivant:
public class Test{
public static void main(String[] args) {
GraphModel model = new DefaultGraphModel();

JGraph graph = new JGraph(model);

//graph.getGraphLayoutCache().insert(cells);
graph.getGraphLayoutCache().setFactory(new DefaultCellViewFactory() {
// CellViews for each type of cell
protected VertexView createVertexView(Object cell) {

return new CircleView(cell);
}
});

JFrame frame = new JFrame();
frame.getContentPane().add(new JScrollPane(graph));
frame.pack();
frame.setVisible(true);
}
}
*********************
mais lorsque je fais l'éxécution une frame vide est affiché , le cercle n'est pas affiché.
Svp , est ce que quelque'un peux m'aider et m'expliquer c'est quoi le problème et comment le résoudre.
Merci

5 réponses

Utilisateur anonyme
26 mars 2008 à 07:14
Tu n'as pas besoin de ça, il y a déjà de quoi dessiner des cercles, des ovales et des rectangles dans JGraph. Au lieu de réinventer l'eau chaude, regarde bien dans la documentation, elle est plutôt bien rédigée. Pour utiliser JGraph, il me semble que tu as même une sorte d'éditeur qui te génère le code.

0
Bonsoir,le lient donné est inaccessible veuillez m'aider s'il vous plait!
0
cs_saintcrepan Messages postés 4 Date d'inscription dimanche 8 avril 2007 Statut Membre Dernière intervention 9 juillet 2009
12 mai 2009 à 02:34
bonjour

aidez moi a dessiner deux rectangles avec jgraph lies par une arete portant un label

merciiiiiiiii
0
imenmannou Messages postés 20 Date d'inscription dimanche 8 novembre 2009 Statut Membre Dernière intervention 16 mai 2011
12 mai 2009 à 12:31
Salut,
Juste consulte le JGraph manuel, il est gratuit et tu peut télécharger, il aya dans le manuel un exemple de dessin de deux rectangle lié par une arrête étiqueté.
Bonne chance
0
cs_saintcrepan Messages postés 4 Date d'inscription dimanche 8 avril 2007 Statut Membre Dernière intervention 9 juillet 2009
14 mai 2009 à 00:47
merci [../auteur/IMENMANNOU/1270495.aspx imenmannou]

oui ca marche, mais jai encore un petit probleme

a chaque fois que j execute mon code jobtiens deux rectangles lies avec une arete, ya t il un moyen de garder ce graphe moyennant un fichier xml

cela va me permettre de garder mon graphe apres avoir redimensionner mes rectangles

merci d avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_abdellatif90 Messages postés 1 Date d'inscription vendredi 10 décembre 2010 Statut Membre Dernière intervention 29 mars 2011
29 mars 2011 à 13:27
salut je besoin d'aide je veux dessiner un graphe avec des noeuds et arretes et puis trouver le plus court chemin de une noeud à autre mais pas par l'algorithme de DIJKSTRA alors stp aide moi
0
Rejoignez-nous