Rectangle2D.contains()不起作用?

时间:2017-02-14 09:21:53

标签: java awt

new Rectangle2D.Double(0, 2, 4, 2).contains(1, 1)

这给了我错误。为什么?该点应位于矩形内部。也许我累了,这可能是微不足道的,但我不能理解。

2 个答案:

答案 0 :(得分:6)

您指定:

new Rectangle2D.Double(
    0, //x
    2, //y
    4, //width
    2  //height
);

因此,矩形将从0,2开始并延伸到4,41,1位于矩形之外,因为contains方法与矩形起始位置无关,但它基于绝对坐标空间。

enter image description here

答案 1 :(得分:2)

Rectangle2D.Double(double x, double y, double w, double h)

表示您将矩形放在点(0,2)中并从那里延伸。所以它不是(1,1),因为它从2开始。