生成的圖形事件。我有一個橢圓與java.awt.geom.Ellipse2D的幫助下現在如何從由Java2D的
,我想,只要用戶點擊上橢圓形,產生一個事件,使我可以聽取該事件並根據生成該事件的橢圓執行後續任務。
生成的圖形事件。我有一個橢圓與java.awt.geom.Ellipse2D的幫助下現在如何從由Java2D的
,我想,只要用戶點擊上橢圓形,產生一個事件,使我可以聽取該事件並根據生成該事件的橢圓執行後續任務。
如果沒有大量的手寫代碼(讓畫布或任何其他東西,聽鼠標事件,並計算自己是否點擊了橢圓),我不認爲這是可能的。
如果你想做更多這樣的考慮scenegraph。用這個橢圓本身就是一個對象,你可以註冊事件監聽器。
編輯作爲迴應評論:
場景圖:https://scenegraph.dev.java.net/ 谷歌更多的資源:場景圖的Java 是的。 Scenegraph是JavaFX東西的一部分,但與純Java(無FX)很好地配合使用
請問您可以提供一個場景鏈接。我以前沒有聽說過。我可以在擺動GUI上繪製橢圓。 – 2010-01-07 13:45:01
我將假定這是一個問題,要求一種方法來聽取在某些Swing上繪製的橢圓上進行的鼠標點擊組件使用Graphics2D.draw
。
簡單的答案是,沒有辦法從繪製在表面上的圖形生成鼠標事件。
然而,這裏是另一種方法:
List
繪製的Ellipse2D
對象。在用戶點擊的Swing組件上註冊一個MouseListener
。MouseEvent
S,確定在被點擊鼠標(使用MouseEvent.getPoint
)的位置,並檢查是否發生了任何包含在前述List
的Ellipse2D
S的鼠標點擊,使用Ellipse2D.contains
方法。
另請參閱此[示例](http://stackoverflow.com/a/11944233/230513)。 – trashgod 2012-11-07 22:11:12