有人可以告诉我使用JCanvas3D而不是Canvas3D时遇到的问题吗?
如何使用JCanvas3D实现透明度?
此致 hariprasad
答案 0 :(得分:1)
我现在可以找到的对JCanvas3D的唯一引用是在com.sun.j3d.exp.swing包中。该软件包的API实际上有一个 EXPERIMENTAL 警告。话虽如此,论坛仍然有相当多的活动,听起来好像人们仍在积极研究代码。
这两者之间的区别特征似乎是Canvas3D是标准的“AWT”式重量级组件,JCanvas3D意味着它的Swing对应物。
在搜索了一下之后:我发现this tidbit引用interactive mesh引用{{3}}的回答,听起来它会回答您更具体的问题。
透明的场景背景是 适用于所有轻量级3D 画布(JCanvas3Dxyz, FxCanvas3Dxyz)。设置Java 3D 系统属性“transparentOffScreen” 为真 (-Dj3d.transparentOffScreen = true或 System.setProperty( “j3d.transparentOffScreen” “true”))导致alpha值为 对于场景中的所有像素,为“0” 背景区域使面板的 自己的背景颜色出现。什么时候 将其opaque属性切换为 false,父面板将是 在场景背景区域中渲染。
这允许 - 创造一个花哨的背景或 - 在JFrame或JFrame中的所有面板上移动3D场景内容 - 创建分层3D场景。
a。中的场景背景区域 Canvas3D总是不透明的。
-August