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

我正在尝试在JPanel中嵌入HWND(窗口句柄)。

实际上,我可以将HWND嵌入到JFrame中,但是嵌入式窗口始终位于其他组件的顶部,因此无法移动它。如果尝试删除我的JFrame的所有子组件,则HWND将保留在那里。HWND似乎是在JFrame顶部绘制的,而不是其中之一。

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

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

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

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

有没有一种方法可以将HWND嵌入到JPanel或将其添加到其他组件中,这样就可以像在用户界面中一样定位它了?

谢谢

回答:

JPanels是轻量级的组件(它们没有真正的本机对等体)。也就是说,它们已经使用(J)Frame的句柄。看一下java.awt.Canvas。

以上是 在JPanel中嵌入HWND(窗口句柄) 的全部内容, 来源链接: utcz.com/qa/415834.html

回到顶部