Это зависит от того, что вы подразумеваете под ручным способом, практически ваша черная линия должна быть проведена между двумя точками, определенными координатами BoxA и BoxB, каждый раз, когда вы перемещаете любой из блоков, вы должны вызвать метод, который обновит вашу линию.
Пока ваши точки привязаны к позициям BoxA и BoxB, обновление линии - это всего лишь вопрос вызова метода, который вы использовали для ее прорисовки.
//Pseudo Code
define BoxA position
define BoxB position
define PointA PointA = new Point( BoxA.centerX , BoxA.centerY)
define PointB PointB = new Point( BoxB.centerX , BoxB.centerY)
define drawLine method // draw line between PointA & PointB
drawLine();
move( BoxB ); //will change the value of PointB
drawLine();