我的应用程序中有一个用于添加/删除JToolBar的JButton。当工具栏停靠时,我可以使用以下命令将其移除:
toolBar.getParent().remove(toolbar); // toolBar is an instance of JToolBar如果我在工具栏处于浮动状态时执行此操作,则不会发生任何操作,浮动工具栏仍保留在那里。
发布于 2021-02-20 03:48:45
使用从JToolBar获得的BasicToolBarUI对象,我们可以知道它是否是浮动的。如果JToolbar是浮动的,我们可以处理它的窗口。
public boolean isFloating(JToolBar toolbar) {
ToolBarUI ui = toolbar.getUI();
return ui instanceof BasicToolBarUI && ( (BasicToolBarUI) ui).isFloating();
}
public void removeFromParent(JToolBar toolbar) {
if (isFloating(toolbar)) {
// Dock the JToolBar before removing
BasicToolBarUI basicToolbarUI = (BasicToolBarUI) toolbar.getUI();
basicToolbarUI.setFloating(false, null);
}
// Not floating, docked, remove from parent component
toolbar.getParent().remove(toolbar);
}https://stackoverflow.com/questions/66284115
复制相似问题