Мне нужно добавить ярлык в начало JPopupMenu
, который содержит другие JMenuItem
s. Все идет нормально. Проблема возникает из-за того, что у моей метки есть значок с левой стороны, как «нормальный» JMenuItem
, но другие элементы не будут следовать выравниванию меток, как это делается с JMenuItem
. Как это:JLabel с иконкой в JPopupMenu не следует за другим выравниванием JMenuItem
Первый элемент является JMenuItem
с иконкой. Обратите внимание, что все остальные JMenuItem
будут следовать выравниванию текста одного с более широким значком.
Теперь, если добавить JLabel
с иконкой на JPopupMenu
, эффект не будет таким же:
Или еще хуже, если добавить JLabel
, не значок в JPopupMenu
, который содержит другие JMenuItem
с с иконками, метка не будет следовать выравниванию других и будет оставаться на одной линии слева:
Мой вопрос: возможно ли установить выравнивание JLabel
(значок и текст) на выравнивание JMenuItem
s в JPopupMenu
? Если да, то как?
Я стараюсь избегать такого подхода, потому что L & F зависит. Опция, которую вы предоставили, чтобы связать JMenuItem с JPanel, отлично работает с WindowsLookAndFeel, но с Nimbus он не работает. Хотя я считаю, что следующее не является хорошим подходом, я мог бы просто отключить JMenuItem и установить его передний план, но фон (MenuItem.disabledForeground) является глобальным, и я хочу, чтобы это изменилось только для определенного JPopupMenu в моей системе. –
Спасибо за тестирование. Я обновил этот пример, но, похоже, пока не является хорошим решением. – aterai
Благодарим вас за ответ. В любом случае, вы правы, новое решение по-прежнему не соответствует моим потребностям. –