JFace - скрытие панели меню и панели инструментов ApplicationWindow?

Я пытаюсь создать метод, чтобы скрыть панель инструментов и меню в JFace ApplicationWindow. Я старался:

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

Это не влияет на строку меню. Он скрывает панель инструментов, но оставляет место, где была панель инструментов.

(Я пытаюсь сделать композицию полноэкранной, скрывая их.)


person bcoughlan    schedule 13.08.2011    source источник


Ответы (1)


Попробуйте переопределить ApplicationWindow.addMenuBar() и ApplicationWindow.addToolBar(int) пустыми методами.

ОБНОВЛЕНИЕ

Извините, я не понял, что вы хотите скрыть элементы управления только временно.

Это сложнее. ApplicationWindow переопределяет Window.getLayout() и создает экземпляр ApplicationWindowLayout в этом методе. В этом макете нет возможности временно исключить ребенка.

Вы можете снова переопределить этот метод и предоставить вместо него экземпляр GridLayout. Чтобы расположить все прямые дочерние элементы вашего окна, такие как панель инструментов, меню, строка состояния и основной компонент содержимого, вам необходимо установить для них GridData экземпляров. Но если вы это сделаете, вы можете переключить gridData.exclude и вызвать window.layout(), чтобы показать или скрыть меню и панель инструментов.

person the.duckman    schedule 13.08.2011
comment
Дело не в том, что я вообще не хочу, чтобы они были там, а в том, что я хочу иметь возможность показывать и прятать их. - person bcoughlan; 13.08.2011