如何将mouselistener添加到顶点 - jgraphx

时间:2013-10-04 20:32:50

标签: java jgrapht jgraphx jgraph

如何在jgraphx中的特定顶点添加mouselistener?

graphComponent.getGraphControl().addMouseListener(new MouseAdapter() {
                    public void mouseReleased (MouseEvent e1) {

我可以使用此图形组件,但如何为顶点指定它?

2 个答案:

答案 0 :(得分:0)

您可以使用MouseEvent类的getCellAt(int x, int y)getX()方法调用graphcomponent类的getY()方法。如果您单击了一个顶点(或边),这将返回一个对象,然后通过简单的比较,您可以决定它是哪个顶点。

以下是一个例子:

graphComponent.getGraphControl().addMouseListener(new MouseAdapter() 
{
@Override
    public void mouseReleased(MouseEvent e) 
    {    
        mxCell cell =(mxCell) getGraphComponent().getCellAt(e.getX(), e.getY());
        if(cell != null && cell.equals(YOUR_VERTEX))
        {
            //specific thing you want to do on click
        }
    }
});

答案 1 :(得分:0)

您可以为给定的单元格mxCellHandler创建state,即您的特定顶点。您可以查看createHandler()课程的mxGraphComponent

希望这会有所帮助。