GWT,单击 MenuItem 时禁用自动关闭 MenuBar?
我想当我单击菜单项时是否可以禁用自动关闭菜单栏? 我有几个类似于复选框的菜单项,因此我可以检查多个菜单项,并且不希望每次检查一个菜单项时都关闭菜单。
谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想当我单击菜单项时是否可以禁用自动关闭菜单栏? 我有几个类似于复选框的菜单项,因此我可以检查多个菜单项,并且不希望每次检查一个菜单项时都关闭菜单。
谢谢。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
我遇到了同样的问题,我将与您分享我的解决方案:
1)创建扩展 MenuItem 的新类 MyMenuItemWithCheckBox。
在构造函数中将元素 ID 设置为(例如)menuItemWIthCheckBox + 唯一文本。
this.getElement().setId("menuItemWithCheckBox_" + menuItemLabel);
2) 创建扩展 MenuBar 的新类 MyMenuBar。
通过以下方式覆盖 onBrowserEvent 方法:
现在始终调用 MenuItem 的计划命令,但在您的情况下
菜单复选框项目没有菜单栏的关闭。
我希望这对您有帮助,我花了一天多的时间来创建这个解决方案。 :-)
I was facing same problem and I will share with you my solution:
1) Create new class MyMenuItemWithCheckBox that extends the MenuItem.
In the constructor set element ID to (forexample) menuItemWIthCheckBox + Unique text.
this.getElement().setId("menuItemWithCheckBox_" + menuItemLabel);
2) Create new class MyMenuBar that extends the MenuBar.
Override the onBrowserEvent method by following:
Now scheduled command of MenuItem is always called, but in the case of your
menu checkBox item there is no close of a menubar.
I hope this help you, I spend more than day to create this solution. :-)
首先,直接这是不可能的,因为显示子菜单的弹出面板在 MenuBar 类中是私有的。
但是,有一种方法可以做到这一点...
简单地从 google 代码存储库中获取当前的 MenuBar.java 代码并将其包含在您的 eclipse gwt-项目中。
您不必更改任何内容,例如包声明或其他内容。只需将源代码放入项目中,它就会在编译期间简单地替换 gwt-sdk 中的原始 MenuBar 类(也适用于托管开发模式)。
然后,您只需将弹出面板的属性 autoHide 设置为 false,单击后弹出窗口不应消失。
First, directly it's not possible because the popup-panel which displays the submenu is private in the MenuBar class.
Buuut, there is a way to do so ...
Simpley fetch the current MenuBar.java code out of googles code repository and include it in your eclipse gwt-project.
You don't have to change anything e.g. package deklaration or something. Just put your source in your project and it will simply replace the original MenuBar-class from the gwt-sdk during compilation (works also with hosted development mode).
Then you can simply set the property autoHide of the popup-Panel to false and the popup shouldn't disappear after clicking.
您可以在菜单项上将
hideOnClick
设置为 false请参阅此处。
You can set
hideOnClick
to false on the menuItemsSee here.