1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| GraphModel model = new DefaultGraphModel();
GraphLayoutCache view = new GraphLayoutCache (model,newDefaultCellViewFactory());
this.graph = newJGraph(model,view);
//voila le tableau des deux cells : dans la main du classe
DefaultGraphCell cells = new DefaultGraphCell [3];
le problem est que le 2éme bouton ne marche pas ,je ne sais pas porquoi, mais j'ai l'intention que je doit refrechir le graph pour ajouter cet arc aprés l'ajout des deux sommets avec le bouton 1 donc voici si vous voulez les actionListeners des 2 boutons
code:
//l'action des boutons
//b1
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
// 1er cellule
cells[0] = new DefaultGraphCell(new String("Hello"));
GraphConstants.setBounds(cells[0].getAttributes(), new Rectangle2D.Double(20,20,40,20));
GraphConstants.setGradientColor(cells[0].getAttributes(),Color.orange);
GraphConstants.setOpaque(cells[0].getAttributes(), true);
DefaultPort port0 = new DefaultPort();
cells[0].add(port0);
cells[1] = new DefaultGraphCell(new String("World"));
GraphConstants.setBounds(cells[1].getAttributes(), new Rectangle2D.Double(140,140,40,20));
GraphConstants.setGradientColor( cells[1].getAttributes(), Color.red);
GraphConstants.setOpaque(cells[1].getAttributes(), true);
DefaultPort port1 = new DefaultPort();
cells[1].add(port1);
graph.getGraphLayoutCache().insert(cells);
getContentPane().add(new JScrollPane(graph));
pack();
setVisible(true);
}
});
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
DefaultEdge edge = new DefaultEdge();
edge.setSource(cells[0].getChildAt(0));
edge.setTarget(cells[1].getChildAt(0));
int arrow = GraphConstants.ARROW_CLASSIC;
GraphConstants.setLineEnd(edge.getAttributes(), arrow);
GraphConstants.setEndFill(edge.getAttributes(), true);
graph.getGraphLayoutCache().insertEdge(cells[0],cells[1],edge);
getContentPane().add(new JScrollPane(graph));
pack();
setVisible(true);
}
}); |
Partager