Настройка JGraphX - PullRequest
       14

Настройка JGraphX

3 голосов
/ 29 октября 2010

Я использовал JGraphX ​​для отображения некоторых данных (простых дискретных графиков), и я хотел бы знать, как сделать следующие вещи с библиотекой JGraphX:

  • Сделать все ребра неподвижными, но все же позволить пользователю создать ребро между двумя вершинами
  • Сделать все вершины и ребра недоступными для редактирования (они не могут редактировать то, что отображается на них)
  • Как получить выбранную вершину или ребро в любой момент времени?
  • Сделать все поля вершин неизменяемыми для пользователя
  • Как мне изменить цвет ящика каждой вершины?

Спасибо, ExtremeCoder

1 Ответ

5 голосов
/ 17 ноября 2010

Вот пример:

mxGraph graph = new mxGraph()
{
  // Make all edges unmovable
  public boolean isCellMovable(Object cell)
  {
    return !getModel().isEdge(cell);
  }

  // Make all vertex boxes unresizable
  public boolean isCellResizable(Object cell)
  {
     return !getModel().isVertex(cell);
  }
};

// Make all vertices and edges uneditable
graph.setCellsEditable(false);

// Make all edges unbendable
graph.setCellsBendable(false);

// Get the selected vertex or edge
System.out.println(graph.getSelectionCell());

// To insert a vertex with a given color:
Object v1 = graph.insertVertex(parent, null, "Hello",
            20, 20, 80, 30, "fillColor=#FF0000;");

// To modify the color of a vertex:
graph.setCellStyles(mxConstants.STYLE_FILLCOLOR, "#00FF00", new Object[]{v1});
...