在JPanel中嵌入HWND(窗口句柄)

我试图在JPanel中嵌入一个HWND(窗口句柄)。

实际上,我可以将我的HWND嵌入到JFrame中,但嵌入式窗口总是停留在另一个组件的顶部,我无法移动它。 如果尝试删除我的JFrame的所有子组件,HWND会保留在那里。 HWND似乎是在JFrame之上绘制而不是作为孩子之一。

要将HWND嵌入到JPanel中,我使用User32到jna:

User32.SetParent(iage.getRenderHwnd(), (int) getGUIHwnd(j)); 

我使用它来获取我的JFrame的HWND:

 j.getPeer() != null ? ((WComponentPeer) j.getPeer()).getHWnd(): 0; 

有没有办法将HWND嵌入到JPanel中或将其添加到其他组件中,以便我可以将其放置在我的UI中?

谢谢

JPanels是轻量级组件(它们没有真正的本地对等体)。 即他们已经使用了(J)框架的手柄。 看看java.awt.Canvas。