Можно ли использовать 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, поэтому он должен работать для вас.

Ура,

Мартин

Другие вопросы по тегам