好吧,我们正试图在我们的Netbeans 7.0项目中加入3D散点图,我们选择测试的其中一个库是Jzy3D。看起来它会像我们需要的那样做,但不幸的是,它没有做任何事情。
我正确安装了JOGL,并对其进行了测试并发现它正常工作。然后我包含了与demo中相同的依赖项。我也试过直接包含.jars。是的,gluegen-rt.jar位于库文件夹中。
编辑:为了让JOGL正常工作,我们不得不大量修改构建设置。老实说,我的老板做了大部分工作,所以我还不完全确定如何复制它。现在,我正在尝试将图表放在JFrame中,而Jzy3D库中的FrameSwing扩展会出现以下错误:
Exception in thread "main" java.lang.ClassCastException: org.jzy3d.plot3d.rendering.canvas.CanvasAWT cannot be cast to javax.swing.JComponent at org.jzy3d.bridge.swing.FrameSwing.(FrameSwing.java:36) at scratchwork.My3DChart.main(My3DChart.java:40)
我会继续努力,但如果有人知道什么是错的,那就知道了。
更新:看起来CanvasAWT是从Canvas扩展的,它是从Component扩展而不是JComponent。这似乎是问题所在,我已将其提交给Jzy3D作者。
答案 0 :(得分:1)
也许您忘记使用构造函数中的“swing”选项创建图表,如here所述。它会创建一个CanvasSwing
的图表,该图表是Swing应用程序中预期的JComponent
。
构建Swing图表会创建一个JOGL轻量级组件,可以与顶部出现的其他JComponents
混合使用(默认AWT图表是重量级的,并且仍然位于任何其他UI组件之上)。
Jzy3d已经在Swing和其他Windowing工具包中取得了成功,所以它应该适合你。