GridLayout中有一组10个JPanel。现在,我想拖动一个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()不为null,则可以在拖动侦听器中调用它并交换面板位置。我没有测试过,但是应该可以!
关于java - 在一组JPanel中拖放JPanel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18406486/