2008-11-06 9 views
1

Quelqu'un peut-il me dire s'il vous plaît les problèmes que nous rencontrons lors de l'utilisation de JCanvas3D au lieu de Canvas3D?JCanvas3D vs Canvas3D

Comment obtenir de la transparence avec JCanvas3D?

Cordialement, Hariprasad

+0

Pourquoi "mac" marqué dans ce poste? Peut-être pourriez-vous ajouter un peu d'information. –

Répondre

1

La seule référence à JCanvas3D je peux trouver est en ce moment dans un paquet de com.sun.j3d.exp.swing. L'API de ce package contient un avertissement EXPERIMENTAL. Cela étant dit, les forums ont encore beaucoup d'activité en eux et il semble que les gens travaillent encore activement sur le code. Le trait distinctif entre ces deux semble être que Canvas3D est le composant poids lourd type "AWT" et JCanvas3D est censé être son homologue Swing. Après une recherche un peu plus: J'ai trouvé this tidbit cité d'une réponse par interactive mesh qui semble répondre à votre question plus spécifique.

Un arrière-plan de la scène est transparent disponibles pour tous les toiles légères 3D (JCanvas3Dxyz, FxCanvas3Dxyz). Définition de la propriété système Java 3D "transparentOffScreen" true résultats (-Dj3d.transparentOffScreen = true ou System.setProperty ("j3d.transparentOffScreen" "true")) à une valeur alpha de '0' pour tous les pixels de la scène zone d'arrière-plan de sorte que la couleur d'arrière-plan du panneau s'affiche. Lorsque basculant son attribut opaque à false, le panneau parent sera rendu dans la zone d'arrière-plan de la scène.

Cela permet - de créer un arrière-plan de fantaisie ou - pour déplacer le contenu de la scène 3D dans tous les panneaux dans un JFrame ou - pour créer des scènes 3D en couches.

La zone d'arrière-plan de la scène dans un Canvas3D est toujours opaque.

-Août