繁体   English   中英

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

[英]Showing/hiding a SWT Menu at runtime

我试图基于一个简单事件在运行时动态显示/隐藏(或创建/配置)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()和处置/重新创建菜单(处置产生了结果,重新创建了菜单)都没有运气。 任何帮助将非常感激。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM