如何将鼠标侦听器添加到 jgraphx 中的特定顶点?
graphComponent.getGraphControl().addMouseListener(new MouseAdapter() {
public void mouseReleased (MouseEvent e1) {
我可以在graphcomponent中使用它,但是如何为顶点指定它?
您可以mxCellHandler
为给定的单元格创建一个state
,即您的特定顶点。你可以检查createHandler()
类的mxGraphComponent
。
希望这可以帮助。
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
}
}
});