Я встроил LWJGL-холст (в JPanel, который находится в JSplitPane) в моем JFrame. И у меня есть JMenuBar. Проблема заключается в том, что LWJGL захватывает фокус и не запускает события качания мыши. Поэтому, если я, например, щелкну на холсте LWJGL, когда всплывает одно из JMenu, свинг проигнорирует (фактически не получит никакого) событие, и всплывающее окно не исчезнет.
Я также пытался перепроверить строку меню и весь JFrame, пока ничего не помогло. В моем случае робот не решение - я не хочу его использовать, это вызовет неудобства. Кстати, я пытался сделать что-то вроде этого:
MouseEvent me = new MouseEvent(mainFrame, 0, 0, 0, 0, 0, 1, false);
for (MouseListener m : menuBar.getMouseListeners()) {
m.mousePressed(me);
}
Но и это не повлияло. Есть ли другие решения? Как я могу очистить все выборы в JFrame, например, когда пользователь сворачивает окно или нажимает клавишу WIN?