将jtoolbar从一个jpanel转移到另一个jpanel

问题描述:

这是我的第一个问题,与我一起裸露。假设我有2个JPanel和1个JToolBar。我想要做的就是将工具栏从一个面板拖到另一个面板上,鼠标释放后,工具栏应该坚持到第二个。将jtoolbar从一个jpanel转移到另一个jpanel

BasicToolbarUI有floatAt方法。正如你可以从源代码(下面)看到的工具栏使用工具栏的父容器的docing源。您可以尝试覆盖该方法并替换源代码。

protected void floatAt(Point position, Point origin) 
    { 
    if(toolBar.isFloatable() == true) 
    { 
     try 
     { 
     Point offset = dragWindow.getOffset(); 
     if (offset == null) { 
     offset = position; 
     dragWindow.setOffset(offset); 
     } 
     Point global = new Point(origin.x+ position.x, 
        origin.y+position.y); 
     setFloatingLocation(global.x-offset.x, 
       global.y-offset.y); 
     if (dockingSource != null) { 
     Point dockingPosition = dockingSource.getLocationOnScreen(); 
     Point comparisonPoint = new Point(global.x-dockingPosition.x, 
          global.y-dockingPosition.y); 
     if (canDock(dockingSource, comparisonPoint)) { 
      setFloating(false, comparisonPoint); 
     } else { 
      setFloating(true, null); 
     } 
     } else { 
     setFloating(true, null); 
     }