JFace - 隐藏ApplicationWindow菜单栏和工具栏?

时间:2011-08-13 01:41:13

标签: swt jface

我正在尝试创建一个方法来隐藏JFace ApplicationWindow中的工具栏和菜单。我试过了:

getToolBarControl().setVisible(false);
getMenuBarManager().setVisible(false);

这对菜单栏没有影响。它隐藏了ToolBar,但仍留有ToolBar所在的空间。

(我试图通过隐藏它们来全屏复合。)

1 个答案:

答案 0 :(得分:2)

尝试使用空方法覆盖ApplicationWindow.addMenuBar()ApplicationWindow.addToolBar(int)

<强>更新

抱歉,我不明白,您只想暂时隐藏控件。

那更复杂。 ApplicationWindow会覆盖Window.getLayout(),并在此方法中实例化ApplicationWindowLayout。该布局不提供暂时排除儿童的选项。

您可以再次覆盖此方法并改为提供GridLayout实例。要为窗口的所有直接子项(例如工具栏,菜单,状态栏和主要内容组件)定位,您需要在它们上设置GridData个实例。但是,如果您这样做,可以切换gridData.exclude并致电window.layout(),以显示或隐藏菜单和工具栏。