AWT et SWING dans une même JFrame - superposition

Bonjour à tous,

Voilà j’ai une application qui utilise des composant SWING et notammelnt des JInternalFrame. Dans l’une des ces JInternalFrame j’ai mis un dessin Java3D.

Le problème est que tout les autres objets de l’application sont masqué par le java3D. Je me suis rendu compte trop tard que le java3d et notamment le Canvas3D dérive d’un objet AWT. et donc si j’ai bien compris ce que j’ai pu lire sur Internet il est normale que AWT passe par dessus SWING.

Y-a t’il un moyen de faire de résoudre ce problème de superposition mis appart de tout mettre en AWT ou en SWING???

Je sais que je ne suis pas le premier à poser cette question mais je n’ai pas trouvé de réponse très clair, connaissez-vous la solution ou des liens utiles?

Merci d’avance

A priori, Swing utilise AWT comme support. Tu peux tenter de faire ton propre composant équivalent qui fera le nécessaire pour que ton composant AWT n’aille pas foutre le boxon.

J’ai jamais utilisé ces composants, et je fais plus assez de Swing pour ça, mais explique mieux ton problème.

Si ça se trouve, c’est ton layout qui fait tout cacher :slight_smile:

Je peux pas tellement mieux expliqué le problème je crois. Comme je l’ai dit plus haut, j’ai mélangé involontairement SWING et AWT. Toute mon interface est en SWING car j’utilise ca depuis longtemps, par contre c’était la première fois que j’intégrais du java3d dans mon appli. Et je me rend compte maintenant que java3D utilise un canvas3D pour afficher et malheureusement canvas3D dérive de composant AWT.

Donc comme j’ai pu lire sur d’autre forum il parait que AWT à justement cette tendance à passer par dessus SWING. En fait j’aimerais savoir si il existe un moyen de palier à ce problème en gardant mes composants SWING et le java3D (AWT)???

J’ai fait un essai si j’affiche un Button AWT dans ma JInternal frame et que je la déplace sur mon java3D c’est tout bon le bouton passe bien par dessus.Donc il s’agit bien d’un problème entre SWING et AWT et non pas d’un problème de layout :wink:

J’espère avoir été un peu plus clair, si il faut d’autre précisions n’hésitez pas à demander, je le ferai volontier.

merci à tous

Je vois :slight_smile: désolé de ne pas pouvoir t’aider en ce cas.

Pas de problème :), j’espère que quelqun pourra quand même m’aider…

Bon eh bien d’après ce que j’ai pu lire ailleure, la seule solution pour s’éviter se genre de problème c’est bel et bien de ne pas mélanger SWING et AWT. Donc dans mon cas je vais laisser ce bug pour le moment, et si un jour j’ai le temps je passerai toute mon interface dans l’une des deux technologies.

En attendant, le mieux est donc de choisir son camps et de s’y tenir. :slight_smile:

Ou de faire ça en SWT ! :slight_smile: (pour compliquer la chose donc ^^)

Ouais effectivement mais pourquoi pas si je m’embete un des ces jours…:smiley: