2009-06-14 7 views
5

Existe-t-il un moyen de gérer la fenêtre z-ordering des fenêtres JDialog dans java?Fenêtre z-ordering en java

Je voudrais pouvoir affecter chaque fenêtre à une couche de sorte que les fenêtres des couches inférieures ne puissent jamais aller au-dessus et masquer les fenêtres des couches supérieures. Même quand ils ont le focus. Similaire à la capacité d'ordre Z qui existe pour les composants mais pour les fenêtres JDialog.

La solution n'a pas besoin de fonctionner sur tous les systèmes d'exploitation. Une solution spécifique à Linux est acceptable.

+0

cela semble être une copie de http://stackoverflow.com/questions/767605/is-there-a-swing-hack-to-query-or-set-z-order-of-a-window – akf

+0

Votre droite, c'est une dupe. J'ai cherché les étiquettes de z-ordre et de ZORD avant de poser et encore manqué celui-là. Suis-je maintenant censé supprimer ceci ou un modérateur ferme-t-il/dupe-t-il? – Aaron

+0

Ce n'est pas tout à fait un doublon - le cas d'utilisation réel est assez différent. –

Répondre

0

La seule gestion que j'ai pu trouver pour l'ordre Z de Windows a été que vous pouvez les envoyer au début de la commande avec toFront() ou que vous pouvez les définir comme toujours avec setAlwaysOnTop() . C'est un ordre z très basique, il ne semble pas que la classe Window vous donne autant d'ordre de grain que les composants dans les conteneurs.

0

Puisque Java prend maintenant en charge transparent and shaped windows, vous pourriez être en mesure de faire semblant à l'aide d'une fenêtre invisible, et de faire des "vrais" fenêtres juste des composants, ou peut-être JInternalFrame s.

+0

Merci. Malheureusement, je suis obligé d'utiliser des composants de poids lourds (toile jogl) dans certaines fenêtres, donc je ne peux pas utiliser JInternalFrames. – Aaron

Questions connexes