![](/img/trans.png)
[英]JavaFX - handle MouseEntered event on a button (with fxml)
[英]Highlight polygons with mouseentered event
我对 Java Swing 非常陌生,我正在做一个任务。 我的组件上有一些多边形。 当我进入一个多边形时,它必须突出显示(即填充一些颜色)。
当我 go 到下一个多边形时,它必须突出显示并且前一个应该被擦除(即正常状态)。 我找到了一些示例,但这些示例使用的是“mousepressed”事件,但我的不同。
您是否浏览过 Swing 教程的 MouseListener/MouseMotionListener 部分? 如果没有,并且您还没有写任何东西,我建议您查看教程并查看使用 MouseMotionListener。 您不想听 mouseEntered 但更有可能是 mouseMoved。 伪代码示例可能是:
in MouseMotionListener or MouseAdapter
mouseMoved method
get position of mouse pointer via the MouseEvent parameter.
For loop through list of Polygons
If mouse inside of polygon, highlight it.
Else, un-highlight it.
End for loop
End of mouseMoved method.
end MouseMotionListener or MouseAdapter
java.awt.Polygon 有一个contains(double x, double y)
方法,如果 x,y 鼠标坐标在多边形内,则返回 true。
(x,y) 坐标来自在要绘制形状的容器上实现MouseMotionListener
并在实现的public void mouseMoved(MouseEvent e)
方法中使用e.getX()
和e.getY()
来获取坐标并检查它们是否在您的多边形中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.