2
這是我的第一個問題,與我一起裸露。假設我有2個JPanel和1個JToolBar。我想要做的就是將工具欄從一個面板拖到另一個面板上,鼠標釋放後,工具欄應該堅持到第二個。將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);
}