我在 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/