有没有办法在启动时创建JToolBar(浮动)?

时间:2012-03-25 12:00:44

标签: java swing user-interface jtoolbar

我想创建一个JToolBar而不将其添加到任何JFrame窗口中。如果我必须添加它,那么我怎样才能使工具栏创建为浮动工具栏而不是停靠工具栏?

2 个答案:

答案 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 作为第一个参数传递。