有谁知道支持在 Java JFrame 或 JPanel 中嵌入本机窗口的方法或 API?
我找到了之前的帖子:
如何以平台无关的方式在 Netbeans 中的 Java 框架内运行外部程序?
我可以使用以下方式获取窗口句柄:
http://www.java-forums.org/advanced-java/44064-getting-window-id-window-frame.html
这工作得很好。
这篇文章似乎表明这是可能的,但没有说明如何实现:
我只能重复另一个问题中给出的答案:不支持这个。
使用 Windows API,您可以将窗口添加到
HWND
、JFrame
(不是 Panel
!)或 JPanel
的 Canvas
中。然而 Java 永远不会知道你这么做了,它可能会打破 AWT 代码中的许多假设。
即使您编写本机 Win32 应用程序,也无法将任意窗口嵌入到顶级窗口中。如果您要嵌入的窗口是顶级窗口,当它成为另一个窗口的子窗口时,它可能无法正常运行,因为现在的假设又是错误的,某些消息的处理方式不同。