我想创建一个JToolBar而不将其添加到任何JFrame窗口中。如果我必须添加它,那么我怎样才能使工具栏创建为浮动工具栏而不是停靠工具栏?
答案 0 :(得分:2)
您将需要覆盖BasicToolBarUI
并将工具栏父项设置为绑定到当前帧的JDialog实例,这样您可以默认浮动工具栏并将其保留在框架的顶部
答案 1 :(得分:0)
您可以将其添加到某个面板,然后通过在其 BasicToolBarUI 上调用 setFloating 使其立即浮动,无需覆盖类:
JPanel someParentPanel = ...; // BorderLayout?
JToolBar toolBar = ...; // Your toolBar
// It is mandatory for the JToolBar to have a parent component before calling ui.setFloating
someParentPanel.add(toolBar, BorderLayout.WEST);
// Now, make it float
BasicToolBarUI ui = (BasicToolBarUI) toolBar.getUI();
ui.setFloating(true, new Point(0, 0)); // Pass any point where you want it to appear
您也可以使用相同的方法使其停靠,但将 false
作为第一个参数传递。