Java 3D 教程:6. Java 3D 与用户界面
2012-04-17 12:39
295 查看
ava 3D 与用户界面
Canvas3D
能够绘制三维图形的每块区域都被称为是Canvas3D。它是包含了你环境(universe)中对象视图(view)的长方形。你把画布(canvas)放进帧(frame)中,于是你就创建了能够被显示在画布中的环境。
下面的例子展示了如何在上下端有标签的帧中创建画布。程序能够以applet或者应用的方式运行。
Java 3D 和 Swing
Canvas3D利用了你计算机的图形卡以加强性能。不幸的是,这也意味着它不能与Sun的swing用户界面控件很好地配合使用。这些控件被称为是“轻量级”的。这些轻量级控件即使应该是在前端的也会被Canvas3D隐藏掉。
对于这个问题我们有若干解决之道:
● 如果你把轻量级和重量级控件放在不同的容器中,则它们可以在一个屏幕上混用。
● 如果你使用了弹出菜单,那么JPopupMenu的静态方法可以修复这个问题:
setDefaultLightWeightPopupEnabled(false);
你也可以使用旧一些的AWT控件代替swing。
Canvas3D
能够绘制三维图形的每块区域都被称为是Canvas3D。它是包含了你环境(universe)中对象视图(view)的长方形。你把画布(canvas)放进帧(frame)中,于是你就创建了能够被显示在画布中的环境。
下面的例子展示了如何在上下端有标签的帧中创建画布。程序能够以applet或者应用的方式运行。
import com.sun.j3d.utils.universe.SimpleUniverse; import com.sun.j3d.utils.geometry.ColorCube; import javax.media.j3d.BranchGroup; import javax.media.j3d.Canvas3D; import java.awt.GraphicsConfiguration; import java.awt.BorderLayout; import java.awt.Label; import java.applet.Applet; import com.sun.j3d.utils.applet.MainFrame; public class CanvasDemo extends Applet { public CanvasDemo() { setLayout(new BorderLayout()); GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration(); Canvas3D canvas = new Canvas3D(config); add("North", new Label("This is the top")); add("Center", canvas); add("South", new Label("This is the bottom")); BranchGroup contents = new BranchGroup(); contents.addChild(new ColorCube(0.3)); SimpleUniverse universe = new SimpleUniverse(canvas); universe.getViewingPlatform().setNominalViewingTransform(); universe.addBranchGraph(contents); } public static void main(String[] args) { CanvasDemo demo = new CanvasDemo(); new MainFrame(demo, 400, 400); } }
Java 3D 和 Swing
Canvas3D利用了你计算机的图形卡以加强性能。不幸的是,这也意味着它不能与Sun的swing用户界面控件很好地配合使用。这些控件被称为是“轻量级”的。这些轻量级控件即使应该是在前端的也会被Canvas3D隐藏掉。
对于这个问题我们有若干解决之道:
● 如果你把轻量级和重量级控件放在不同的容器中,则它们可以在一个屏幕上混用。
● 如果你使用了弹出菜单,那么JPopupMenu的静态方法可以修复这个问题:
setDefaultLightWeightPopupEnabled(false);
你也可以使用旧一些的AWT控件代替swing。
相关文章推荐
- Java界面开发——登录并对用户身份进行验证
- JAVA小项目-银行管理系统(图形化界面)5-用户信息读写
- 用java写一个用户登陆界面的代码分享
- Gradle 教程说明 用户指南 第7章 构建Java工程----快速入门
- Java用户登陆界面
- java通过nginx+apache tomcat接收用户头像图片上传,实现网站动态和静态域名访问图片的详细教程
- java之用户登录界面
- Java用户登陆界面
- JAVA swing之用户登陆界面
- java之用户登录界面
- JAVA进阶5.13——用户登录界面
- Java教程Java中轻松实现界面跳转
- JSP+java模式1 用户登录查询界面
- 黑马程序员_JAVA 用户图形界面(GUI)
- Java命名目录接口(JNDI)教程--LDAP用户的高级主题
- java 3D API官方教程:1.4 编写Java3D程序的一般步骤
- 微信公共号开发教程java版——获取用户基本信息(UnionID机制)(七)
- Java用户登陆界面例子 代码
- Java 3D API官方教程[翻译一]
- Java3D理解初级教程