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/

10-13 03:13