для этого макета вы можете использовать abego TreeLayout и для рисунка, который вам не очень поможет, извините.и извините, но какое-то время я видел вопрос с вопросом о графике с деревом, на которое я собирался ответить, но больше не могу его найти.
оба вопроса очень относительны, поэтомув любом случае я думаю, что проблема заключается в получении правильного местоположения узла, вы можете получить его, используя
Component.getLocation();
, чтобы получить местоположение узла относительно его родителя, поэтому он лучше всего подходит для рисования линиймежду узлами в вашей переопределенной JPanel
и с помощью
Component.getWidth();
и
Component.getWidth();
с помощью метода местоположения вы можете найти начальную точку конечной начальной точки (при условии, что вы начинаете строку с правого нижнего конца, заканчивающегося в верхнем левом углу)..