JUNG: установка положения вершины в статической компоновке - PullRequest
2 голосов
/ 17 февраля 2012

Я пытаюсь выделить фиксированные координаты для вершин, используя статическую разметку. Обычно мы можем получить координату вершины как объект Point2D, используя layout.transform(Vertex);

Теперь я хотел инициализировать макет и установить вершины в указанных местах, но я как-то застрял. Я читаю здесь, на StackOverflow, если я реализую Transformer<Vertex, Point2D> интерфейс:

Transformer<Vertex, Point2D> locationTransformer = 
                           new Transformer<Vertex, Point2D>() {
    @Override
    public Point2D transform(Vertex) {
        Point2D p2d = //here i calculate the position
        return p2D;
    }
};  

Я пробовал это. На фиксированном графике это работает, но у меня есть редактируемый график, и на нем ничего не происходит. Я ожидал, что если я зафиксировал положение выше, то какой бы узел я ни добавил щелчком мыши, он должен перейти в фиксированное положение независимо от того, где я его положил?

Подскажите, пожалуйста, в чем причина? Или с редактируемым графиком, он снова где-то переопределяет позицию?

UPDATE:
Если я удалю, например, эти реализации из средства визуализации:

vv.getRenderContext().setVertexFontTransformer(fontTransfoer);
vv.getRenderContext().setVertexFillPaintTransformer(colorTransformer);
vv.getRenderContext().setVertexShapeTransformer(shapeTransformer);  

Он начинает работать, но тогда узлы по умолчанию имеют круглую красную форму. Я хочу полностью перерисовать структуру, которую я нарисовал в прошлый раз. Так можно ли что-то сделать с этой проблемой?

...