我遇到了问题。我有一个鼠标事件。
@Override
public void mouseClicked(MouseEvent e){
}
而且效果很好。但我有形状。
Rectangle r = new Rectangle();
r.setSize(50, 50);
r.setLocation(200, 200)
g2d.draw(r);
当鼠标事件被触发时,我需要检查是否在我的矩形上单击了它。不仅仅是屏幕上的任何地方。
if (e.ClickedOnRectangle) {
//Do stuff
}
类似这样的事情。有什么解决办法吗?
如何检查我的鼠标是否在 AWT(图形)对象上单击?
最佳答案
这要看情况。如果 Shape
包含在发生鼠标事件的容器内,那么它应该是使用 Shape#contains
方法的简单情况
@Override
public void mouseClicked(MouseEvent e){
if (rect.contains(e.getPoint()) {
// Was clicked...
}
}
仔细看看 Shape
JavaDocs 了解更多详细信息
关于java - 如何知道是否在图形对象上单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25242212/