我正在尝试为我的任务编写代码。我的任务是,我通过给出坐标值在单个面板上绘制可能的多边形。并将鼠标移动事件应用于这些多边形。
我的问题是我可以绘制所有多边形,但不知道如何将 mousemoved 事件应用于所有多边形。(即,当我将鼠标移动到特定多边形时,该特定多边形的背景颜色应该改变,当我退出时它应该去恢复正常阶段)。
我可以为一两个多边形手动完成所有这些操作。但在我的场景中,我会有很多多边形。我不能为每个单独写。
所以请帮助我解决这个问题。
谢谢。
我正在尝试为我的任务编写代码。我的任务是,我通过给出坐标值在单个面板上绘制可能的多边形。并将鼠标移动事件应用于这些多边形。
我的问题是我可以绘制所有多边形,但不知道如何将 mousemoved 事件应用于所有多边形。(即,当我将鼠标移动到特定多边形时,该特定多边形的背景颜色应该改变,当我退出时它应该去恢复正常阶段)。
我可以为一两个多边形手动完成所有这些操作。但在我的场景中,我会有很多多边形。我不能为每个单独写。
所以请帮助我解决这个问题。
谢谢。
这个例子展示了如何解决一个问题Polygon
。注意mouseMoved()
只记录当前鼠标Point
。对此repaint()
,paintComponent()
使用 进行检查contains()
。对于多个多边形,您只需遍历 a List<Polygon>
,依次检查每个多边形。