Пропустил этот вопрос при первоначальном размещении, мои извинения.
Сначала вы можете получить расстояние в координатах макета, получив положение для каждой вершины в макете, а затем выполнив очевидную математику.
Во-вторых, я не понимаю, почему вы хотите, чтобы вес ссылки был функцией того, как макет размещал вершины.Это кажется произвольным.Обычно, во всяком случае, все наоборот (вес ребер определяет расположение вершин в Layout).
Наконец, если вы используете Dijkstra {Distance, ShortestPath}, вы можете указать любой вид веса ребер, который вылайк;посмотрите на Javadoc, как это сделать.
Какую проблему вы пытаетесь решить?