Я просто столкнулся с той же проблемой.
Я хочу иметь «панель чертежей», где я могу разместить вспомогательные линии, которые можно перетаскивать. Вы можете прикрепить MouseHandler через 'setOnMousePressed' и 'setOnMouseDragged', чтобы получить такое поведение.
Но большая проблема заключается в том, что размер линий настолько мал, что вам повезло ударить его мышью.
Вот почему я реализовал это наоборот. Я прикрепляю обработчик мыши к панели рисования и при каждом щелчке мыши я проверяю, находится ли курсор мыши рядом с любой из вспомогательных линий. Это дает мне возможность добавить немного терпимости, поэтому линии можно щелкнуть и перетащить.
Я не могу сказать, является ли самый эффективный способ и будет счастлив, если кто-то еще придумает лучшую идею.
Edit: Тем временем я написал небольшой тест и узнал, что моя первая мысль была не так хорошо.
Моя вторая идея заключалась в том, чтобы обернуть линию в панели и центрировать ее координату y (для вертикальных линий) внутри этой панели. На этой панели я установил обработчики мыши. И так как я сделал панель с предпочтительной высотой 5 пикселей, теперь есть достаточный допуск для курсора мыши, чтобы поймать эту линию.
Если кто-нибудь заинтересован в этой идее, я могу написать небольшой пример кода.
Привет, -chris-