如果我使用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. 悬停在Java中的JButton上Netbeans
- 2. 2D Box-Collisions,Platformer,我的播放器“悬停”在块上
- 3. 将悬停功能添加到.img-circle引导程序元素
- 4. NSTableView和悬停在列上
- 5. QScrollBar在鼠标悬停上
- 6. CSS悬停在容器上
- 7. 悬停在导航条上
- 8. jQuery悬停在instafeed.js上
- 9. 在悬停的每个链接上悬停的宽度比悬停的更大
- 10. setInterval和setTimeout停止悬停在悬停
- 11. 让下拉停留在悬停上
- 12. 代表/上悬停
- 13. 菜单上悬停
- 14. 如何在Bootstrap中将鼠标悬停在表上悬停在表上?
- 15. Java Circle Shape(6段)
- 16. Circle JSlider - Java程序
- 17. 维护鼠标悬停在jquery上的悬停菜单
- 18. 当悬停在选择框上时,jquery悬停功能失灵
- 19. CSS:悬停 - 如何使:悬停在文字上影响图像?
- 20. JButton显示悬停Java Swing
- 21. CSS悬停在点上以显示图像 - 不在图像上悬停
- 22. 在jquery中悬停()的悬停词吗?
- 23. 悬停在悬停的CSS菜单
- 24. 悬停在悬停jQuery的/ javascript的
- 25. Java - 悬停在图像事件
- 26. 悬停弹出悬停
- 27. 将悬停jQuery悬停
- 28. 悬停:在Safari
- 29. 悬停在IE
- 30. 请在悬停
由于检查距离需要计算平方根,所以更好地使用圆方程(更改== for <)。 – 2009-12-03 01:30:07
为真。我应该说平方距离与平方半径相比:D 我指出了另一个有python代码的问题链接:D 感谢您的纠正:D – 2009-12-03 01:47:41