java swing中多个多边形上的鼠标事件

时间:2011-06-03 19:09:10

标签: java events swing awt awtutilities

我正在尝试为我的任务编写代码。 我的任务是,我通过给出坐标值在单个面板上绘制多边形。并且aplly mouse将事件移动到那些多边形。

我的问题是我可以绘制所有多边形,但不知道如何将mousemoved事件应用于所有多边形。(即当我将鼠标移动到特定多边形时,该特定多边形的背景颜色应该改变,当我退出时它应该回到正常阶段。)

我可以手动为一个或两个多边形做这一切。但在我的情况下,我会有这么多的多边形。我无法为每个人单独写作。

所以请帮我解决这个问题。

感谢。

1 个答案:

答案 0 :(得分:2)

example显示如何解决一个Polygon的问题。请注意,mouseMoved()仅记录当前鼠标Point。在回复repaint()后,paintComponent()会使用contains()进行检查。对于多个多边形,您只需迭代List<Polygon>,依次检查每个多边形。