【问题标题】:Rectangle.contains() method never returns trueRectangle.contains() 方法永远不会返回 true
【发布时间】:2019-05-29 14:16:24
【问题描述】:

我使用的图表返回一个 org.eclipse.draw2d.geometry.Rectangle,其坐标为 Rectangle(20.0, 450.0, 0.0, 0.0)。我想检查其中是否存在一个点 (20,450)。

我已经尝试过使用 contains 和 equals 方法。但它不会返回 true。我做错了什么?

if (rectangle.contains(new Point(20, 450)))
{
   return true;
}

我除了输出为真。我可以改变点的坐标,但不能改变矩形的坐标。

【问题讨论】:

  • 我不熟悉那个 Rectangle 类,但是如果它像 java.awt.Rectangle 一样,您似乎正在创建一个零宽度和零高度的 Rectangle,这意味着它不能包含任何内容,甚至它自己的起源。
  • @VGR X、Y、宽度、高度
  • 最后两个参数不是说矩形的长度和宽度为零吗?那么,它很难容纳一些东西吗? (至少在其内部)。我面前没有矩形 api,如果我跑题了,很抱歉
  • @Michael 谢谢你(以及你答案中的链接)。这似乎确实证实了代码正在创建一个尺寸为零的矩形。
  • 你在哪里定义你的变量?

标签: java contains rectangles


【解决方案1】:

The documentation 从字面上解释了这一点。

public boolean contains(double x, double y)

返回给定坐标是否在边界内 这个矩形。边界包括顶部和左侧 边缘,但不包括底部和右侧边缘。

你的观点是右下角。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-25
    • 2016-02-08
    • 2022-11-21
    相关资源
    最近更新 更多