如何在jgraphx的特定顶点上添加鼠标监听器?
graphComponent.getGraphControl().addMouseListener(new MouseAdapter() {
public void mouseReleased (MouseEvent e1) {
我可以使用这个来图组件,但如何为顶点指定它呢?
最佳答案
您可以使用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
}
}
});