2009-06-14 11 views
5

¿Hay alguna manera de gestionar el orden z de ventanas JDialog dentro de java?Ordenación z de ventanas en java

Me gustaría poder asignar cada ventana a una capa de modo que las ventanas en las capas inferiores nunca puedan ir más arriba y oscurecer las ventanas en las capas superiores. Incluso cuando tienen enfoque. Similar a la capacidad de orden Z que existe para los componentes pero para las ventanas de JDialog.

La solución no necesita funcionar en todos los sistemas operativos. Una solución específica de Linux es aceptable.

+0

esto parece ser un duplicado de http://stackoverflow.com/questions/767605/is-there-a-swing-hack-to-query-or-set-z-order-of-a-window – akf

+0

Tienes razón, es una tontería. Busqué las etiquetas z-order AND zorder antes de colocar y aun así perdí esa. ¿Se supone que ahora debo eliminar esto o un moderador lo cierra/engaña? – Aaron

+0

No es exactamente un duplicado: el caso de uso real es bastante diferente. –

Respuesta

0

La única gestión que he podido encontrar para el orden Z de ventanas ha sido que puedes enviarlas al principio del pedido con toFront() o que puedes establecerlas como siempre en la parte superior con setAlwaysOnTop() . Este es un pedido z muy básico, no parece que la clase Window le proporcione tantos pedidos de grano fino como lo hacen los Componentes dentro de Contenedores.

0

Dado que Java ahora es compatible con transparent and shaped windows, es posible que pueda simular esto usando una ventana invisible y haciendo que los componentes windows "reales" solo sean JInternalFrame s.

+0

Gracias. Lamentablemente, me veo obligado a usar componentes pesados ​​(lienzo jogl) en algunas ventanas, así que no puedo usar JInternalFrames. – Aaron