如何仅在JGraphX中禁用边缘选择?

时间:2013-12-04 12:16:47

标签: java swing selection edge jgraphx

我正在尝试仅在JGraphX中禁用边缘选择。如果我打电话

mxgraph.setCellsSelectable(false);

这会禁用所有单元格的选择,而不仅仅是边缘。是否有类似setEdgesSelectable()的内容?

2 个答案:

答案 0 :(得分:3)

覆盖:

public boolean isCellsSelectable()

在mxGraph子类中并使用该子类。默认情况下,返回mxgraph.cellsSelectable。你想要的东西(根本没有测试过):

public boolean isCellsSelectable()
{
    if (model.isEdge())
    {
        return false;
    }

    return cellsSelectable;
}

答案 1 :(得分:1)

截至今天,目前的JGraphX版本(3.6)并没有David的回答中提到的isCellsSelectable()方法,但基本上解决方案保持不变。

您只需使用isCellSelectable(Object cell)方法,如下所示:

public boolean isCellSelectable(Object cell)
{
    if (model.isEdge(cell))
    {
        return false;
    }

    return super.isCellSelectable(cell);
}