我有一个画布,一些文本字段和一个上下文菜单。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