我有一個畫布,一些文本字段和一個上下文菜單。JPopupMenu顯示在畫布下
當我啓動應用程序並右鍵單擊畫布時,彈出菜單顯示。但是,當我在文本字段內寫入的內容比右鍵單擊畫布時,彈出窗口將在畫布後面顯示。
任何想法如何解決這個問題?
我有一個畫布,一些文本字段和一個上下文菜單。JPopupMenu顯示在畫布下
當我啓動應用程序並右鍵單擊畫布時,彈出菜單顯示。但是,當我在文本字段內寫入的內容比右鍵單擊畫布時,彈出窗口將在畫布後面顯示。
任何想法如何解決這個問題?
JPopupMenu.setDefaultLightWeightPopupEnabled(false);
解決了這個問題。
1)Canvas
是AWT Component
,並且是Heavyweight type of Components
2)JPopupMenu
是Swing JComponent
並且Lightweight type of JComponents
3)能夠解決通過使用Swing JPanel
而非AWT Canvas
4)您的問題是約Mixing Heavyweight and Lightweight Components或rest is here
我需要一個重量級的組件用opengl來繪製它。 – 2012-03-06 18:10:51
同意OpenGL的正確方法,你的選擇比使用JPopup使用Window或un_decorated Dialog更簡單,在那裏你可以放置Swing JButtons,鋪設使用GridLayout – mKorbel 2012-03-06 18:26:55
Uggh ..在我喝完咖啡之前添加回復是毫無意義的。 +1 – 2012-03-07 05:19:24
提出了一些代碼,理想情況下是一個SSCE。通常,只要編寫一個SSCE,你就會發現你的問題。 – 2012-03-06 17:19:18
什麼是SSCE? – 2012-03-06 18:11:15
http://sscce.org/,對不起,我錯過了一個C – 2012-03-06 18:16:10