Можно ли использовать Jzy3D в приложении Netbeans 7.0? - PullRequest
1 голос
/ 27 июня 2011

Хорошо, поэтому мы пытаемся включить трехмерную диаграмму рассеяния в наш проект в Netbeans 7.0, и одной из библиотек, которые мы выбрали для тестирования, была Jzy3D. Похоже, он бы сделал все, что нам было нужно, но, к сожалению, он ничего не делает.

Я правильно установил JOGL, проверил и обнаружил, что он работает. Затем я включил те же зависимости, что и в демо. Я также пытался напрямую, в том числе .jars. И да, gluegen-rt.jar находится в папке библиотеки.

РЕДАКТИРОВАТЬ: Чтобы заставить JOGL работать, мы должны были сильно изменить настройки сборки. Честно говоря, мой босс сделал большую часть этого, поэтому я еще не совсем уверен, как это повторить. Теперь я пытаюсь поместить диаграмму в JFrame, а расширение FrameSwing из библиотеки Jzy3D выдает следующую ошибку:

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, который расширяется из компонента, а не из JComponent. Кажется, это проблема, и я отправил ее авторам Jzy3D.

1 Ответ

1 голос
/ 30 июня 2011

Возможно, вы забыли создать диаграмму, используя опцию "swing" в конструкторе, как указано здесь .Он создает диаграмму с CanvasSwing, что соответствует JComponent, как и ожидалось в приложении Swing.

При построении диаграммы Swing создается облегченный компонент JOGL, который можно смешивать с другими JComponents, появляющимися сверху (диаграмма AWT по умолчанию является тяжеловесной и остается поверх любого другого компонента пользовательского интерфейса).

Jzy3d уже успешно работает как в Swing, так и в других инструментах Windowing, поэтому он должен работать для вас.

...