java - "Rectangle cannot be converted to bounds"使用矩形.相交()?

标签 java javafx rectangles scene

因此,我从一个矩形传递 double 值,以查看它是否与另一个矩形相交。我将属性值 (x, y, w, h) 作为参数传递给函数,然后在其中创建一个矩形并将参数设置为其属性。然后我使用 rectangle.intersects(rect) 对其进行测试看看它们是否重叠。代码如下。

问题:inputRectangle.intersects(scannedRectangle);给出一个错误,显示 "Incompatible types: Rectangle cannot be converted to bounds .

Google 和 SO 搜索没有找到该错误的结果。

我怎么处理这个问题是错误的?谢谢

import javafx.scene.shape.Rectangle;
-----------^^^^^^^^^^^^^^^^------------

public boolean isIntersectingNode(double inputX, double inputY, double inputWidth, double inputHeight)
{

    Rectangle inputRectangle = new Rectangle(inputX, inputY, inputWidth, inputHeight);
    double newX = 20, newY = 20, newW = 20, newH = 20;

    Rectangle scannedRectangle = new Rectangle(newX, newY, newW, newH);

    return inputRectangle.intersects(scannedRectangle);  <<<<<<<ERROR HERE

}

注意:我稍微简化了代码。但无论我如何更改代码,scannedRectangle函数中的段给出了该错误。

最佳答案

javafx.scene.shape.Rectangle 是一个Node。由于您没有将这些对象用作场景的一部分,因此最好使用 javafx.geometry.Rectangle2D检查交叉点。此类不扩展 Node,它允许您检查 2 个 Rectangle2D 的交集。

public boolean isIntersectingNode(double inputX,
                                  double inputY,
                                  double inputWidth,
                                  double inputHeight) {

    Rectangle2D inputRectangle = new Rectangle2D(inputX, inputY, inputWidth, inputHeight);
    double newX = 20, newY = 20, newW = 20, newH = 20;

    Rectangle2D scannedRectangle = new Rectangle2D(newX, newY, newW, newH);

    return inputRectangle.intersects(scannedRectangle);
}

关于java - "Rectangle cannot be converted to bounds"使用矩形.相交()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40505969/

相关文章:

java - 字母数字的正则表达式

java - 使用 Java 从 iPhone 等设备获取位置坐标(不是基于 IP,更像是 GPS 或手机信号)

java - JavaFX FXMLLoader 上的 NullPointer 位置

具有更好输入功能的 JavaFX DatePicker

java - 带有 TextField 的 GridPane 9x9 用于数独

r - 如何在带有构面的 R 中使用 geom_rect() 控制 xlim?

java - 矩形厚度java

java - 在 android canvas 上绘制一堆旋转的矩形

java - 锁和同步方法的区别

java - response.getStatusLine() :HTTP/1. 1 400 错误请求