2012-03-06 20 views
5

Tengo un lienzo, algunos campos de texto y un menú contextual.JPopupMenu pantalla en Canvas

Cuando comienzo a la aplicación y haga clic derecho en el lienzo muestra un menú emergente. Pero cuando escribo algo dentro del campo de texto que hago clic derecho en el lienzo, la ventana emergente se muestra detrás del lienzo.

Cualquier idea de cómo solucionar esto?

+2

poner un poco de código, lo ideal sería un SSCE. Generalmente, al escribir un SSCE, encontrará su problema. –

+0

¿Qué es un SSCE? –

+0

http://sscce.org/, lo siento, me perdí un C –

Respuesta

5
JPopupMenu.setDefaultLightWeightPopupEnabled(false); 

ha resuelto el problema.

3

1) Canvas es AWT Component, y es Heavyweight type of Components

2) JPopupMenu es Swing JComponent y es Lightweight type of JComponents

3) posible resolver que mediante el uso Swing JPanel en lugar de AWT Canvas

4) su problema es aproximadamente Mixing Heavyweight and Lightweight Components o rest is here

+0

Necesito un componente de peso pesado para dibujar en él con OpenGL. –

+0

de acuerdo en forma correcta para OpenGL, su elección es más simple que el uso de la ventana o el uso JPopup un_decorated de diálogo, no se puede poner JButtons oscilación, para la colocación de uso GridLayout – mKorbel

+0

Uggh .. añadiendo respuestas antes de que yo he tenido mi café no tiene sentido. 1 –