我在JFrame中嵌入了LWJGL-canvas(在JPAnel中,在JSplitPane中)。我有一个JMenuBar。问题是LWJGL捕获焦点并且没有触发摇摆鼠标事件。 因此,如果我,例如,当弹出一个JMenu时点击LWJGL画布 - swing将忽略(实际上没有收到任何)事件,弹出窗口不会消失。
我也试图重新验证菜单栏和整个JFrame,现在没有任何对我有用的东西。 就我而言,机器人不是解决方案 - 我不想使用它,这将导致不相干。 顺便说一下,我尝试过这样的事情:
MouseEvent me = new MouseEvent(mainFrame, 0, 0, 0, 0, 0, 1, false);
for (MouseListener m : menuBar.getMouseListeners()) {
m.mousePressed(me);
}
但这也没有效果。 还有其他解决方案吗?如何清除JFrame中的所有选择,例如当用户最小化窗口或按下WIN键时?
答案 0 :(得分:0)
您可以从LWJGL获取MouseClick。现在,您可以拨打MenuSelectionManager.defaultManager().clearSelectedPath()
来关闭菜单。