我遇到了一个问题。我有一个鼠标事件。
@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(图形)对象上被点击?
答案 0 :(得分:1)
这取决于。如果Shape
包含在发生鼠标事件的容器中,则应该是使用Shape#contains
方法的简单情况
@Override
public void mouseClicked(MouseEvent e){
if (rect.contains(e.getPoint()) {
// Was clicked...
}
}
仔细查看Shape
JavaDocs以获取更多详细信息