有一组 10 个 JPanel 放置在 GridLayout 中。现在我想拖动一个 JPanel(例如 panel1)并将其放置在另一个 JPanel(例如 panel2)上,并将 panel2 向左或向右移动,并将 panel1 放置在 panel2 位置。我可以使用拖动选项拖动 JPanel,但无法将其放在所需的位置。我需要一些帮助来将面板移动到放置位置。 抱歉,如果我的问题不清楚。希望你能理解。 提前致谢。
最佳答案
你可以尝试这个,但就像我说的,可能有更好的方法:
public JPanel getPanelColliding(JPanel dragPanel, JPanel[] panels)
{
Rectangle rDrag = dragPanel.getBounds();
for (JPanel panel : panels){
if (panel == dragPanel) continue;
Rectangle r = panel.getBounds();
if (r.insersects(rDrag))
return r;
}
return null;
}
然后在您的拖动监听器中,如果getPanelColliding()不为空,您可以调用它并交换面板位置。我没有对此进行测试,但它应该可以工作!
关于java - 拖动并移动一组 JPanel 中的 JPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18406486/