java - 确定 Java Swing 中的重叠组件

标签 java swing

我在 JXTreeTable 之上加载了一个 JPanel。我想确定 JPanel 是否与 JXTreeTable 的特定单元格重叠。我尝试检索 X 和 Y 组件并比较它们。但是,当我检查 JPanel 的最小 X 和 Y 坐标时,它们始终为 0.0。我无法弄清楚。除了比较坐标值,还有别的吗?

最佳答案

您应该能够使用 Rectangle 来帮助确定组件是否重叠。

Rectangle panelBounds = panel.getBounds();
Rectangle cellBounds = getRowBounds(row); // getPathBounds(path);
if (panelBounds.intersects(cellBounds)) {
    // We have a collision
}

现在,更大的问题是,X/Y 返回值始终为 0。这意味着 getBounds 方法返回的 Rectangle 也将返回 x/y共 0 个。

您需要分享一些代码来向我们展示您如何布置此组件。

关于java - 确定 Java Swing 中的重叠组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12099591/

相关文章:

java - 应用程序崩溃了,我知道它与 "java.lang.NumberFormatException: Invalid int: "$19.0 0""(日志中)有关,但我不知道如何修复它

java - 通过参数中的方法调用方法

java - 如何将图像保存到应用程序而不是图库?

java - JTextBox总是有换行符

Java JFrame setSize 导致滞后

java - 在java中创建表

用于连接 Sharepoint Server 的 Java API

java - Sling 资源与节点

java - 根据其他一些输入在 JTable 中设置单元格的背景

java - 如何获取JTree中当前节点的深度?