java - 在 Java 中显示 C++ 程序

标签 java c++ swing java-native-interface

我是 JNI 的新手,刚刚开始学习它。

我已经使用 JNI 在 java 中成功执行了一个图形 C++ 程序。现在我想尝试一些更高级的东西,即在 JFrame 或 JPanel 中显示 C++ 图形程序。

这可能吗?如何做?理想情况下,它应该类似于 this

感谢您的回答,如果我的问题含糊不清,我们深表歉意。

编辑:这与我的问题非常相似 Display a C++ window in a java GUI

最佳答案

理论上这应该是可能的,尽管不是 JFrame/JPanel。 Swing 是无与伦比的,您必须使用重量级组件作为 UI 的父组件。但是你在那里所做的一切都是高度不可移植的,它涉及 JRE 内部类,所以如果你真的完成了它可能会与另一个 JRE 版本中断。您可能会遇到事件处理方面的奇怪问题。

作为初学者,您可以查看 Eclipse SWT_AWT 桥正在做什么。本质上,他们正在做您所描述的事情,将不是 AWT 的东西嵌入到 AWT Canvas 中。

关于java - 在 Java 中显示 C++ 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28979052/

相关文章:

java - 调用超父类(super class)onResume()和onCreae()

java - 在 JButton 上添加和打开链接

c++ - Opencv:向后扭曲

c++ - 对象 "is not a structure or union"如果临时传递给构造函数

C++,OpenCV : Assertion failed in Resize

java - MiGLayout 边框上的多个组件

java - 如何使用 Windows 的高 DPI 缩放运行 Java 应用程序?

java - 使用 Intellij IDEA IDE 读取文件

java - gwt 文本框添加更改处理程序

java - 我的用于输入姓名、年龄以及查看一个人是否年龄足以做某事的 Java 代码有什么问题?