1

如何将鼠标侦听器添加到 jgraphx 中的特定顶点?

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

我可以在graphcomponent中使用它,但是如何为顶点指定它?

4

2 回答 2

0

您可以mxCellHandler为给定的单元格创建一个state,即您的特定顶点。你可以检查createHandler()类的mxGraphComponent

希望这可以帮助。

于 2014-12-02T04:49:18.530 回答
0

getCellAt(int x, int y)您可以使用 MouseEvent 类的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
        }
    }
});
于 2014-09-15T10:51:17.660 回答