java swing中多个多边形上的鼠标事件
我正在尝试为我的任务编写代码。 我的任务是,我通过给出坐标值在单个面板上绘制可能的多边形。并将鼠标移动事件应用于这些多边形。
我的问题是我可以绘制所有多边形,但不知道如何将 mousemoved 事件应用于所有多边形。(即,当我将鼠标移动到特定多边形时,该特定多边形的背景颜色应该改变,当我退出时它应该去回到正常阶段)。
我可以为一个或两个多边形手动完成所有这些操作。但在我的场景中,我会有很多多边形。我无法为每个人单独写。
所以请帮助我解决这个问题。
谢谢。
i am trying to write a code for my task.
my task is, i have draw may polygons on a single panel by giving coordinate values. and aplly mouse moved event to those polygons.
my problem is i can draw all polygons but don't know how to apply mousemoved event to all tha polygons.(i.e when i move my mouse to particular polygon the background color of that particual polygon should change, and when i exit it should go back to normal stage).
i can do all this manually for one or two polygons. but in my scenario i'll have so many polygons. i can't write individually for each.
so please help me regarding this issue.
thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
此示例展示了如何解决一个
多边形<的问题/代码>。请注意,
mouseMoved()
仅记录当前鼠标Point
。为了响应repaint()
,paintComponent()
使用contains()
进行检查。对于多个多边形,您只需迭代List
,依次检查每个多边形。This example show how to solve the problem for one
Polygon
. Note thatmouseMoved()
merely records the current mousePoint
. In response torepaint()
,paintComponent()
makes a check usingcontains()
. For multiple polygons, you would simply iterate over aList<Polygon>
, checking each in turn.