如果我使用Java2D繪製一些圓圈。當我將鼠標懸停在任何圈子上時,是否會顯示某些文字?即我想顯示該圈子的ID和一些其他的東西。Java 2D。懸停在Circle上
2
A
回答
0
您必須保存所有中心和半徑,並根據當前鼠標位置進行測試。
這是非常簡單的操作。如果鼠標位置與其中一個圓的中心的距離小於半徑,則鼠標位於其中,並且您可以繪製所需的懸停消息。
這裏有一個問題,表明數學:Equation for testing if a point is inside a circle
希望幫助...
有可能會爲你做它(在包含法)多邊形類,但沒有的實施班級是一個圈子:S
2
有很多方法可以完成你想要的。這是一個解決方案。我假設你正在使用Ellipse2D創建圓。我假設你正在像JPanel一樣在JComponent上繪製圓。
所以你聲明橢圓。
Shape circle = new Ellispe2D.Double(x, y, width, height);
然後,實現MouseMotionListener來檢測用戶何時將鼠標移動到JPanel上。
public void mouseMoved(MouseEvent e){
if(circle.contains(e.getPoint())){
//the mouse pointer is over the circle. So set a Message or whatever you want to do
msg = "You are over circle 1";
}else{
msg = "You are not over the circle";
}
}
然後在paint()或方法的paintComponent(哪一個你將覆蓋做畫):
g2.fill(circle);
g2.drawString(msg, 10, 10); //write out the message
1
我不知道,如果你可以直接做到這一點。但是你可以用簡單的數學來檢查光標位置:(x-a)^ 2 +(y-b)^ 2 = r^2其中x,y是光標位置a,b是圓心,r是半徑。
相關問題
- 1. 在d3鼠標懸停變暗rect/circle
- 2. 鏈接上懸停懸停
- 3. 懸停在其他懸停鏈接上
- 4. 懸停在Java中的JButton上Netbeans
- 5. 2D Box-Collisions,Platformer,我的播放器「懸停」在塊上
- 6. CSS懸停在圖像問題上懸停在鏈接上?
- 7. 懸停在兒童上與懸停在父母上不一樣
- 8. 上懸停
- 9. 將懸停功能添加到.img-circle引導程序元素
- 10. Java - Circle Fractal
- 11. NullPointerException java circle project
- 12. jquery懸停在懸停內
- 13. JQuery懸停在象限上
- 14. jQuery懸停在instafeed.js上
- 15. QScrollBar在鼠標懸停上
- 16. 鼠標懸停在塊上
- 17. NSTableView和懸停在列上
- 18. 懸停在鏈接上
- 19. 懸停在jQuery和CSS上
- 20. CSS懸停在容器上
- 21. 懸停在導航條上
- 22. 在懸停的每個鏈接上懸停的寬度比懸停的更大
- 23. setInterval和setTimeout停止懸停在懸停
- 24. 讓下拉停留在懸停上
- 25. 代表/上懸停
- 26. 菜單上懸停
- 27. 如何在Bootstrap中將鼠標懸停在表上懸停在表上?
- 28. Java中的Circle類
- 29. Java Circle Shape(6段)
- 30. Circle JSlider - Java程序
由於檢查距離需要計算平方根,所以更好地使用圓方程(更改== for <)。 – 2009-12-03 01:30:07
爲真。我應該說平方距離與平方半徑相比:D 我指出了另一個有python代碼的問題鏈接:D 感謝您的糾正:D – 2009-12-03 01:47:41