我正在尝试创建一个方法来隐藏JFace ApplicationWindow中的工具栏和菜单。我试过了:
getToolBarControl().setVisible(false);
getMenuBarManager().setVisible(false);
这对菜单栏没有影响。它隐藏了ToolBar,但仍留有ToolBar所在的空间。
(我试图通过隐藏它们来全屏复合。)
答案 0 :(得分:2)
尝试使用空方法覆盖ApplicationWindow.addMenuBar()
和ApplicationWindow.addToolBar(int)
。
<强>更新强>
抱歉,我不明白,您只想暂时隐藏控件。
那更复杂。 ApplicationWindow
会覆盖Window.getLayout()
,并在此方法中实例化ApplicationWindowLayout
。该布局不提供暂时排除儿童的选项。
您可以再次覆盖此方法并改为提供GridLayout
实例。要为窗口的所有直接子项(例如工具栏,菜单,状态栏和主要内容组件)定位,您需要在它们上设置GridData
个实例。但是,如果您这样做,可以切换gridData.exclude
并致电window.layout()
,以显示或隐藏菜单和工具栏。