我在java.awt.geom.Ellipse2D的帮助下制作了一个Ellipse
现在,我希望每当用户点击该椭圆时,就会生成一个事件,以便我可以监听该事件并根据生成该事件的椭圆执行后续任务。
答案 0 :(得分:3)
答案 1 :(得分:1)
我不认为没有大量手工编码的东西是可能的(让画布或其他东西,听老鼠事件,并在点击椭圆时自己计算)。
如果你想做更多这样的事情,请考虑一下场景图。有了它,椭圆本身就是一个对象,你可以注册事件监听器。
编辑为对评论的回复:
场景图:https://scenegraph.dev.java.net/ 谷歌更多资源:scenegraph java 是的。 Scenegraph是JavaFX的一部分,但与纯Java(无FX)很好地配合使用
答案 2 :(得分:1)
我将假设这是一个问题,想要一种方法来聆听使用Graphics2D.draw
在某些Swing组件上绘制的椭圆上的鼠标点击。
简单的答案是,没有办法从表面上绘制的图形生成鼠标事件。
然而,这是另一种方法:
Ellipse2D
对象存储在List
中。MouseListener
。MouseEvent
开始,确定点击鼠标的位置(使用MouseEvent.getPoint
),然后检查鼠标是否发生在Ellipse2D
中的任何一个使用Ellipse2D.contains
方法包含在上述List
中。