如何让mouselistener注意到想象中的三角形里面的点击?

时间:2016-07-08 12:52:06

标签: java mouselistener triangular

我在网格上有三个点。我希望我的mouselistener给我一个抬头,当点击这个想象中的三点三角区域上的一个点时。怎么做?我不想使用形状类或任何东西,因为它是一个假想的三角形。有任何想法吗 ? THX!

1 个答案:

答案 0 :(得分:1)

以下代码应该完成您要执行的操作。

private static final Polygon POLY = new Polygon();

static {
    POLY.addPoint(x1, y1); // first point
    POLY.addPoint(x2, y2); // second point
    POLY.addPoint(x3, y3); // third point
}

@Override
public void mouseClicked(final MouseEvent e) {
    if (POLY.contains(e.getX(), e.getY())) {
        // notify user
    }
}

请注意,即使您拥有的三角形是“虚构的”,也需要定义某种多边形。这就是Java知道形状内可以有哪些点。