Я пытаюсь динамически отображать/скрывать (или создавать/удалять) SWT-меню (через JFace MenuManager) во время выполнения на основе простого события. Более конкретно, когда активируется требуемое управление, я хотел бы показать дополнительное меню в строке меню. Как только он будет отключен, новое меню должно исчезнуть. Что-то вроде этого:Отображение/скрытие SWT-меню во время выполнения
addListener(SWT.Activate, new Listener(){
public void handleEvent(Event event) {
showAdditionalMenuManager();
}
});
addListener(SWT.Deactivate, new Listener(){
public void handleEvent(Event event) {
hideAdditionalMenuManager();
}
});
слушателей, безусловно, работать, но я старался как SetVisible() и утилизация/воссоздание меню (Уничтожение дает результаты, воссоздание не делает), не повез. Любая помощь приветствуется.
Если вы разрабатываете приложение на основе RCP, рассмотрите возможность использования выражения visibleWhen в объявлении подменю. –
Можете ли вы дать дополнительную информацию с содержанием двух методов show/hide? –
@TonnyMadsen Это не приложение на основе RCP. Способы такие же простые, как, например, addMenuManager.setVisible (false) или дополнительныйMenuManager. распоряжаться(). Кстати, метод setVisible() работает, но только во время запуска (при построении оболочки). –