如何知道它是否被点击了图形对象

时间:2014-08-11 11:28:56

标签: java graphics awt mouselistener

我遇到了一个问题。我有一个鼠标事件。

  @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(图形)对象上被点击?

1 个答案:

答案 0 :(得分:1)

这取决于。如果Shape包含在发生鼠标事件的容器中,则应该是使用Shape#contains方法的简单情况

@Override
public void mouseClicked(MouseEvent e){
    if (rect.contains(e.getPoint()) {
        // Was clicked...
    }
}

仔细查看Shape JavaDocs以获取更多详细信息