События мыши на нескольких полигонах в java swing
Я пытаюсь написать код для моей задачи. Моя задача состоит в том, чтобы я нарисовал многоугольники на одной панели, указав значения координат. и aplly мышь перенесла событие на эти полигоны.
моя проблема в том, что я могу нарисовать все многоугольники, но не знаю, как применить событие mousemoved ко всем этим многоугольникам (то есть, когда я перемещаю мышь к определенному многоугольнику, цвет фона этого конкретного многоугольника должен измениться, и когда я выхожу, он должен идти вернуться к нормальной стадии).
Я могу сделать все это вручную для одного или двух полигонов. но в моем сценарии у меня будет так много полигонов. я не могу написать индивидуально для каждого.
поэтому, пожалуйста, помогите мне в этом вопросе.
Благодарю.
1 ответ
Этот пример показывает, как решить проблему для одного Polygon
, Обратите внимание, что mouseMoved()
просто записывает текущую мышь Point
, В ответ на repaint()
, paintComponent()
делает проверку с помощью contains()
, Для нескольких полигонов вы бы просто перебрали List<Polygon>
проверяю каждого по очереди.