gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 06:06:41 26 4
gpt4 key购买 nike

这是我的第一个问题,所以请耐心等待。假设我有 2 个 JPanel 和 1 个 JToolBar。我想要做的是将工具栏从一个面板拖到另一个面板,然后在释放鼠标后,工具栏应该粘在第二个面板上。

最佳答案

BasicToolbarUI 有 floatAt 方法。正如您从源代码(下方)中看到的那样,工具栏使用的是工具栏的父容器的文档源。您可以尝试覆盖该方法并替换源。

   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);
}

关于java - 将 jtoolbar 从一个 jpanel 转移到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8266332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com