Можно ли использовать Jzy3D в приложении Netbeans 7.0?
Итак, мы пытаемся включить трехмерную диаграмму рассеяния в наш проект в Netbeans 7.0, и одной из библиотек, которые мы выбрали для тестирования, была Jzy3D. Похоже, он бы сделал все, что нам нужно, но, к сожалению, он ничего не делает.
Я правильно установил JOGL, проверил и обнаружил, что он работает. Затем я включил те же зависимости, что и в демо. Я также пытался напрямую, в том числе.jars. И да, gluegen-rt.jar находится в папке библиотеки.
РЕДАКТИРОВАТЬ: Чтобы заставить JOGL работать, мы должны были сильно изменить настройки сборки. Честно говоря, мой босс сделал большую часть этого, поэтому я еще не совсем уверен, как это повторить. Теперь я пытаюсь поместить диаграмму в JFrame, а расширение FrameSwing из библиотеки Jzy3D выдает следующую ошибку:
Исключение в потоке "main" java.lang.ClassCastException: org.jzy3d.plot3d.rendering.canvas.CanvasAWT не может быть приведено к javax.swing.JComponent. в org.jzy3d.bridge.swing.FrameSwing.(FrameSwing.java:36) на пустом месте.My3DChart.main(My3DChart.java:40)
Я буду продолжать над этим работать, но если кто-то знает, что случилось, было бы неплохо узнать.
Обновление: похоже, что CanvasAWT расширен от Canvas, который расширен от Компонента, а не JComponent. Кажется, это проблема, и я представил ее авторам Jzy3D.
1 ответ
Возможно, вы забыли создать диаграмму, используя опцию "swing" в конструкторе, как указано там. Он создает диаграмму с CanvasSwing, который является JComponent, как и ожидалось в приложении Swing. Построение диаграммы колебаний создает компонент легкого веса JOGL, который можно смешивать с другими компонентами JC, появляющимися сверху (диаграмма AWT по умолчанию является тяжелой и остается поверх любого другого компонента пользовательского интерфейса).
Jzy3d уже успешно работает как в Swing, так и в других инструментах Windowing, поэтому он должен работать для вас.
Ура,
Мартин