Je crée différents types de bords en modifiant le DefaultEdgeStyle. Chaque style dépend du bouton cliqué dans l'interface utilisateur et les bords sont ajoutés en faisant glisser d'un sommet à l'autre et non la méthode de bord d'insertion.GetEdgeStyle return null JGraphX
Mon problème est que lorsque je veux obtenir le style de bord, une valeur nulle est retournée.
Pourquoi cela se passe-t-il? J'utilise JgraphX (v6)
private void applyEdgeNew2(mxStylesheet stylesheet) {
// Settings for edges
Map<String, Object> edge = new HashMap<String, Object>();
edge.put(mxConstants.STYLE_ROUNDED, true);
edge.put(mxConstants.STYLE_ORTHOGONAL, false);
edge.put(mxConstants.STYLE_EDGE, "elbowEdgeStyle");
edge.put(mxConstants.STYLE_SHAPE, mxConstants.SHAPE_CONNECTOR);
edge.put(mxConstants.STYLE_ENDARROW, mxConstants.ARROW_CLASSIC);
edge.put(mxConstants.STYLE_VERTICAL_ALIGN, mxConstants.ALIGN_MIDDLE);
edge.put(mxConstants.STYLE_ALIGN, mxConstants.ALIGN_CENTER);
edge.put(mxConstants.STYLE_STROKECOLOR, "#FF0000"); // default is #6482B9
edge.put(mxConstants.STYLE_FONTCOLOR, "#446299");
stylesheet.putCellStyle("edge2", edge);
stylesheet.setDefaultEdgeStyle(edge);
}
private void applyEdgeNew3(mxStylesheet stylesheet) {
// Settings for edges
Map<String, Object> edge = new HashMap<String, Object>();
edge.put(mxConstants.STYLE_EDGE, mxConstants.EDGESTYLE_SEGMENT);
edge.put(mxConstants.STYLE_SHAPE, mxConstants.SHAPE_CONNECTOR);
edge.put(mxConstants.STYLE_ENDARROW, mxConstants.ARROW_CLASSIC);
edge.put(mxConstants.STYLE_STROKECOLOR, "#6482B9"); // default is #6482B9
stylesheet.putCellStyle("edge3", edge);
stylesheet.setDefaultEdgeStyle(edge);
}
graphComponent.getGraphControl().addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseClicked(MouseEvent e) {
mxCell cell =(mxCell) graphComponent.getCellAt(e.getX(), e.getY());
if(cell != null)
{
System.out.println("Edge:"+cell.isEdge());
System.out.println("Vertex:"+cell.isVertex());
if (cell.isEdge()){
System.out.println(cell.getStyle()); //Here is the problem(It return null value)
System.out.println(cell.getId());
System.out.println(cell.getSource());
System.out.println(cell.getTarget());
}
if (cell.isVertex()){
System.out.println(cell.getStyle());
System.out.println(cell.getId());
}
}
}