события мыши на нескольких полигонах в java swing - PullRequest
1 голос
/ 03 июня 2011

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

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

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

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

спасибо.

1 Ответ

2 голосов
/ 03 июня 2011

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

...