用Java显示C ++程序

时间:2015-03-11 05:15:11

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

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

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

是否有可能以及如何做到这一点?理想情况下,它会像this

感谢您回答并抱歉,如果我的问题含糊不清。

修改:这与我的问题Display a C++ window in a java GUI

非常相似

2 个答案:

答案 0 :(得分:0)

理论上应该是可能的,尽管不是JFrame / JPanel。 Swing是绝无仅有的,你必须使用重量级组件作为UI的父级。但是你在那里所做的一切都是非常不可移植的,它涉及JRE内部类,所以如果你真的完成了它,它可能会破坏另一个JRE版本。你可能会遇到事件处理的奇怪问题。

作为初学者,您可以查看Eclipse SWT_AWT桥正在做什么。基本上他们正在做你所描述的,在AWT画布中嵌入不是AWT的东西。

答案 1 :(得分:0)

我想我找到了Embed OpenGL inside Java AWT Canvas的解决方案。 如果不相关,请有人纠正我。

感谢Jim和user2543253的帮助。