java - 将 NetBeans IDE 6.7 与 J3D 的 Canvas3D 容器结合使用

标签 java netbeans canvas netbeans6.7 java-3d

我一直告诉自己这应该很简单,但我完全迷失了。首先我要说的是,我是 NetBeans IDE 的新手,并且出于需要而使用它。我对此还不太了解。

我已经成功地为我的应用程序设计了主窗口。应用程序的右侧本质上是一个三维空间的大窗口,可以可视化数据集上的某些转换。我已经搜索了调色板和调色板管理器,甚至尝试从 JAR 手动将 Canvas3D 组件添加到调色板,但我仍然无法获取它。

我真的很希望能够将此组件拖放到我的应用程序中,直观上来说,这似乎是可能的。我使用的是 Mac OS X;我的“关于 NetBeans”的输出说明了更多信息。

产品版本:NetBeans IDE 6.7(内部版本 200906241340)
Java:1.5.0_19; Java HotSpot(TM) 客户端虚拟机 1.5.0_19-137
系统:Mac OS X 版本10.5.7,运行于i386;麦克罗曼; en_US (nb)
用户目录:/Users/dremelofdeath/.netbeans/6.7

预先感谢您对我的帮助 - 我真的很感激。

最佳答案

Canvas3D 是一个重量级组件,这意味着它使用 native 对等组件来连接 DirectX 或 OpenGL,因此这种组件可能无法用于拖放。尽管您可以尝试扩展 JPanel。

您可以使用 BoderLayout 非常轻松地手动设置布局。

MyFrame extends JFrame {

etc...

 Container container = getContentPane();
 container.setName("main.container");
 container.setLayout(new BorderLayout());

 container.add(new MyCanvasPanel(), BorderLayout.CENTER);

}  

// this could probably be added to the palete
public class MyCanvasPanel extends JPanel {

    SimpleUniverse su;
    Canvas3D canvas3D;

  public MyCanvasPanel() {
        canvas3D = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
        add("Center", canvas3D);
        su = new SimpleUniverse(canvas3D);
  }

}

关于java - 将 NetBeans IDE 6.7 与 J3D 的 Canvas3D 容器结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1094980/

相关文章:

java - 关于创建 java 屏幕键盘的建议

Javascript Canvas 优化

javascript - 使用后如何从 GPU 清理和卸载 WebGL Canvas 上下文?

java - 如何正确设置 twitter4j?

java - 递归方法不返回任何内容

javascript - 当使用 "destination-in,"时,只有最后绘制的东西似乎会渲染

java - 如何在 Android 中获取当前 GPS 位置?

java - Android Studio - 使用模块生成多个品牌 apk

java - 如何修复Android Studio中的 'Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $'错误

java - 设置读取器、解码器和消费者线程