【发布时间】:2016-07-08 12:52:06
【问题描述】:
我在一个网格上有三个点。当单击这个由三个点组成的假想三角形内的区域上的一个点时,我希望我的鼠标侦听器给我一个提示。怎么做??我不想使用形状类或任何东西,因为它是一个假想的三角形。有任何想法吗 ?谢谢!
【问题讨论】:
-
您能否详细说明您的问题,例如代码或其他东西,以便人们可以及早解决您的问题并帮助您?谢谢!
标签: java mouselistener triangular
我在一个网格上有三个点。当单击这个由三个点组成的假想三角形内的区域上的一个点时,我希望我的鼠标侦听器给我一个提示。怎么做??我不想使用形状类或任何东西,因为它是一个假想的三角形。有任何想法吗 ?谢谢!
【问题讨论】:
标签: java mouselistener triangular
下面的代码应该完成你想要做的事情。
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 就可以知道形状内可能包含哪些类型的点。
【讨论】: