Кажется, это ошибка Swing. Установка глобального свойства
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
работает! Также подменю JMenu
пункты идут тяжелыми, как они должны. Очевидно, что метод для каждого экземпляра setLightWeightPopupEnabled
должен работать аналогично, но это не так.
Я подал ошибку (Bug Id: 7005406 ) по этому вопросу, но я оставляю вопрос здесь на случай, если кто-то еще столкнется с этим. Поэтому решение состоит в том, чтобы использовать глобальные настройки, пока ошибка не будет исправлена.