我正在尝试为我的任务编写代码。 我的任务是,我通过给出坐标值在单个面板上绘制多边形。并且aplly mouse将事件移动到那些多边形。
我的问题是我可以绘制所有多边形,但不知道如何将mousemoved事件应用于所有多边形。(即当我将鼠标移动到特定多边形时,该特定多边形的背景颜色应该改变,当我退出时它应该回到正常阶段。)
我可以手动为一个或两个多边形做这一切。但在我的情况下,我会有这么多的多边形。我无法为每个人单独写作。
所以请帮我解决这个问题。
感谢。
答案 0 :(得分:2)
此example显示如何解决一个Polygon
的问题。请注意,mouseMoved()
仅记录当前鼠标Point
。在回复repaint()
后,paintComponent()
会使用contains()
进行检查。对于多个多边形,您只需迭代List<Polygon>
,依次检查每个多边形。