Как заставить код на C ++ рисовать на компонентах Java - PullRequest
0 голосов
/ 08 октября 2009

Мы разрабатываем приложение для физики, и мы хотим, чтобы оно было написано на Java, а также мы хотим использовать root (root написан на C ++). У Root есть несколько приятных графических функций - он умеет рисовать очень красивые трехмерные диаграммы, и я думаю, возможно ли встраивать эти диаграммы в приложение Java.

Есть ли способ заставить код на C ++ рисовать, например, JPanel?

Есть ли способ передать назад события мыши / клавиатуры? - мы хотели бы иметь некоторую интерактивность, как вращение трехмерной диаграммы.

Я задал похожий вопрос о внедрении большого количества кода C ++ (который не связан с рисованием) в приложение Java (также о root) он здесь .

Ответы [ 2 ]

1 голос
/ 10 октября 2009

Комментарий JNI к самому вопросу, кажется, лучший путь вперед - я не думаю, что вы хотите рисовать с корнем как есть; вы захотите написать некоторый интерфейсный код между ними, который вызывается из Java через JNI, который просит 'root' перерисовать свое изображение с заданным размером (соответствующий размер для изображения - это то, что знает только компонент java). Передайте его обратно в компонент java из вызова JNI как, например, просто 32-битные данные изображения.

Я бы не предположил, что вы можете рисовать в Java-компоненте даже в AWT; так как это в основном java-обертки вокруг нативных компонентов - где рисование обычно выполняется в самом нативном компоненте (операционной системой, а не java-кодом).

1 голос
/ 08 октября 2009

Поскольку SWT создан для того, чтобы быть довольно тонкой оболочкой для нативных виджетов, работать с Swing / AWT может быть проще для вашей конкретной задачи. Я понимаю, эта конкретная ссылка немного устарела, но она показывает, как быстро обернуть собственный виджет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...