在运行时显示/隐藏SWT菜单

时间:2012-03-19 12:03:50

标签: java swt jface

我试图在运行时基于简单事件动态显示/隐藏(或创建/配置)SWT菜单(通过JFace MenuManager)。更具体地说,当激活所需的控件时,我想在菜单栏中显示一个附加菜单。一旦停用,新添加的菜单就会消失。像这样:

addListener(SWT.Activate, new Listener(){
    public void handleEvent(Event event) {
        showAdditionalMenuManager();
    }
});

addListener(SWT.Deactivate, new Listener(){
    public void handleEvent(Event event) {
        hideAdditionalMenuManager();
    }
});

听众肯定会工作,但我已经尝试了setVisible(),并且处理/重新创建菜单(处理产生结果,重新创建没有)没有运气。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

嗯,我怀疑父菜单管理器没有正确更新......这里没有自动装置......你也必须在父母上调用parent.updateAll(true)。可能先parent.remove(additionalMenuManager)