【问题标题】:Clear all JFrame selections清除所有 JFrame 选择
【发布时间】:2014-06-25 15:47:35
【问题描述】:

我在我的 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 键时?

【问题讨论】:

  • 哦,谢谢,显而易见的船长。我想知道如何清除选择,而不是接收事件。我读过关于混合 LWJGL 和 Swing 的文章,但这不是线索

标签: swing events focus mouse lwjgl


【解决方案1】:

您可以从 LWJGL 获得 MouseClick。现在您可以致电
MenuSelectionManager.defaultManager().clearSelectedPath()
关闭菜单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-05
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    • 2019-02-15
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多