我在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。
你需要分享一些代码来展示你如何布局这个组件。