Другой метод, который может лучше подходить для отключения множества включенных элементов, - перехватывать события на стеклянной панели. Пример того, как это может работать, показан здесь . Однако будьте осторожны, если ваш интерфейс уже создан, это может потребовать значительного перенастройки классов компонентов.
Вам нужно будет перехватить все события на стеклянной панели, если наведение включено (всплывающее меню не отображается), вы передадите событие соответствующему компоненту. В противном случае, если hover отключен и MouseEvent, произошедший над JPopupMenu, передается только JPopupMenu.