Мож кто знает...
В Swing'овой подменюшке поначалу не отрисовываются названия пунктов и сепараторы – вообще ничего, кроме серого прямоугольника и подсветки курсора на нём. Однако размер менюшки и количество пунктов на ней правильное, и вся навигация работает. Данная JMenu'шка лежит в JPopupMenu'шке, вызываемой кнопкой (наследником JButton) по нажатию на саму себя. При этом у данной проблемной JMenu'шки есть дочерние JMenu'шки. Так вот после захода в них (вслепую, конечно же) надписи на родительской JMenu'шке начинают появляться по мере наведения мышкой. И в родительской JPopupMenu'шке, и в дочерних JMenu'шках всё отрисовывается нормально и сразу.
Ситуация вокруг всего этого такова: вышеупомянутая кнопочка расположена на модальном диалоге. Всё свинговое, кроме отдельной менюшки в системном трее. Все свинговые кнопочки и менюшки вроде создаются и работают в событийном Thread'е AWT – специально проверял.
Пробовал запрещать и разрешать defaultLightweight для JPopupMenu – не помогает. Что интересно, если проблемная менюшка наполовину отрисовалась, и после этого закрыть диалог и вызвать заново, то процесс отрисовки продолжится с того места, где закончился. При этом все свинговые объекты конструируются заново. Магия, блин...
Мож знает кто, как заставить всё нормально и сразу отрисовываться? Ведь наверняка я стою на каких-то очень популярных граблях.
Комментариев нет:
Отправить комментарий