2011-01-26 83 views
3

我正試圖在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或添加到其他組件,所以我可以像我在我的用戶界面一樣定位它?

感謝

回答

3

JPanels是lightweighted部件(他們有沒有真正的本土同行)。即它們已經使用(J)框架的手柄。看看java.awt.Canvas。

+0

非常感謝您,我可以在畫布上連接我的HWND,並將其添加到JPanel。 – Etienne 2011-01-27 14:17:02