Javascript 如何在mxGraph中的顶点上添加自定义图像

Javascript 如何在mxGraph中的顶点上添加自定义图像,javascript,mxgraph,Javascript,Mxgraph,我想通过javascript编程在顶点/单元格上添加一个图像,有人能给我举个例子说明如何做到这一点吗。注意:我的单元格对象具有不同的形状(椭圆、菱形等) 谢谢我不知道如何在JavaScript中实现这一点,但JAVA代码示例可能会有所帮助。在JAVA中,必须从mxInteractiveCanvas类重载drawCell方法: 不要忘记用自己的代码替换 Image img = Toolkit.getDefaultToolkit().getImage(<PATH TO YOUR IMAGE&g

我想通过javascript编程在顶点/单元格上添加一个图像,有人能给我举个例子说明如何做到这一点吗。注意:我的单元格对象具有不同的形状(椭圆、菱形等)


谢谢

我不知道如何在JavaScript中实现这一点,但JAVA代码示例可能会有所帮助。在JAVA中,必须从mxInteractiveCanvas类重载drawCell方法:

不要忘记用自己的代码替换

Image img = Toolkit.getDefaultToolkit().getImage(<PATH TO YOUR IMAGE>);
JFrame和Graph:

public class HelloWorld extends JFrame
{

    /**
     * 
     */
    private static final long serialVersionUID = -2707712944901661771L;

    public HelloWorld()
    {
        super("Hello, World!");

        mxGraph graph = new mxGraph();
        Object parent = graph.getDefaultParent();
        graph.getModel().beginUpdate();
        try
        {
            Object v1 = graph.insertVertex(parent, null, "Hello", 20, 20, 80,
                    30);
            Object v2 = graph.insertVertex(parent, null, "World!", 240, 150,
                    80, 30);
            graph.insertEdge(parent, null, "Edge", v1, v2);
        }
        finally
        {
            graph.getModel().endUpdate();
        }

        mxGraphComponent graphComponent = new MyGraphComponent(graph);
        mxICellEditor editor = graphComponent.getCellEditor();
        getContentPane().add(graphComponent);
    }

    public static void main(String[] args)
    {
        HelloWorld frame = new HelloWorld();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 320);
        frame.setVisible(true);
    }

}
public class MyGraphComponent extends mxGraphComponent {

    public MyGraphComponent(mxGraph g) {
        super(g);
    }

    public mxInteractiveCanvas createCanvas()
    {
        return new MyInteractiveCanvas(this);           
    }
}
public class HelloWorld extends JFrame
{

    /**
     * 
     */
    private static final long serialVersionUID = -2707712944901661771L;

    public HelloWorld()
    {
        super("Hello, World!");

        mxGraph graph = new mxGraph();
        Object parent = graph.getDefaultParent();
        graph.getModel().beginUpdate();
        try
        {
            Object v1 = graph.insertVertex(parent, null, "Hello", 20, 20, 80,
                    30);
            Object v2 = graph.insertVertex(parent, null, "World!", 240, 150,
                    80, 30);
            graph.insertEdge(parent, null, "Edge", v1, v2);
        }
        finally
        {
            graph.getModel().endUpdate();
        }

        mxGraphComponent graphComponent = new MyGraphComponent(graph);
        mxICellEditor editor = graphComponent.getCellEditor();
        getContentPane().add(graphComponent);
    }

    public static void main(String[] args)
    {
        HelloWorld frame = new HelloWorld();
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 320);
        frame.setVisible(true);
    }

}