我正在尝试向 GWT 菜单添加键盘快捷键,与大多数 Windows 应用程序中相同(例如 ALT + F,然后 O -> 激活"file"菜单,然后“打开”菜单项)。
我知道它可能与浏览器快捷方式冲突,所以我也对禁用这些快捷方式感兴趣......
据我所知,谷歌在其应用程序中拥有各种快捷方式,因此,必须有一种方法可以做到这一点。
谢谢!
编辑
感谢 Igor 的回应,我能够在被其他控件使用之前捕获键盘输入。
我不知道如何使菜单栏显示自身(例如当鼠标悬停时)。 MenuBar 似乎没有方法 .open() :(
最佳答案
我实际上没有尝试过这个,但是 NativeEvent
似乎正是您正在寻找的。您可以通过 Event.addNativePreviewHandler(Event.NativePreviewHandler)
访问它:
Event.addNativePreviewHandler(new Event.NativePreviewHandler() {
@Override
public void onPreviewNativeEvent(Event.NativePreviewEvent event) {
nativeEvent nativeEvent = event.getNativeEvent();
// Do all sort of cool stuff with nativeEvent
}
});
<小时/>
要以编程方式选择菜单项,请使用 MenuBar.selectItem(MenuItem item)
- 您可能需要跟踪相关的 MenuItem
。从选定的 MenuItem
中,您可以通过 MenuItem.getSubMenu()
访问其子菜单。等等...:)您可以使用自动打开设置(MenuBar.setAutoOpen(boolean autoOpen)
,让它按照您的设想工作。
关于java - 有没有办法在 GWT 中为 MenuBar/MenuItem 元素添加快捷键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3360182/