События мыши на нескольких полигонах в java swing

Я пытаюсь написать код для моей задачи. Моя задача состоит в том, чтобы я нарисовал многоугольники на одной панели, указав значения координат. и aplly мышь перенесла событие на эти полигоны.

моя проблема в том, что я могу нарисовать все многоугольники, но не знаю, как применить событие mousemoved ко всем этим многоугольникам (то есть, когда я перемещаю мышь к определенному многоугольнику, цвет фона этого конкретного многоугольника должен измениться, и когда я выхожу, он должен идти вернуться к нормальной стадии).

Я могу сделать все это вручную для одного или двух полигонов. но в моем сценарии у меня будет так много полигонов. я не могу написать индивидуально для каждого.

поэтому, пожалуйста, помогите мне в этом вопросе.

Благодарю.

1 ответ

Этот пример показывает, как решить проблему для одного Polygon, Обратите внимание, что mouseMoved() просто записывает текущую мышь Point, В ответ на repaint(), paintComponent() делает проверку с помощью contains(), Для нескольких полигонов вы бы просто перебрали List<Polygon>проверяю каждого по очереди.

Другие вопросы по тегам