JPopupMenu дисплей под холстом - PullRequest
5 голосов
/ 06 марта 2012

У меня есть Canvas, некоторые текстовые поля и контекстное меню.

Когда я запускаю приложение и щелкаю правой кнопкой мыши на холсте, появляется всплывающее меню.Но когда я пишу что-то внутри текстового поля, а затем щелкаю правой кнопкой мыши на холсте, за холстом появляется всплывающее окно.

Есть идеи, как это исправить?

Ответы [ 2 ]

5 голосов
/ 07 марта 2012
JPopupMenu.setDefaultLightWeightPopupEnabled( false );

решил проблему.

3 голосов
/ 06 марта 2012

1) Canvas равно AWT Component и равно Heavyweight type of Components

2) JPopupMenu равно Swing JComponent и Lightweight type of JComponents

3), можно решить, чтоиспользуя Swing JPanel вместо AWT Canvas

4) ваша проблема связана с смешиванием тяжеловесных и легких компонентов или остальное здесь

...