等效于 C# 句柄指针的 JFrame

JFrame equivalent for C# handle pointer

我目前正在尝试将代码从 C# 移植到 java。在 C# 代码中,panel.handle 部分 returns 是当前面板的一个 intptr。然后将 intptr 传递给 DLL 方法。 C#代码如下:

IntPtr 句柄 = Panel1.Handle;

必须使用相同的 DLL。我找到了一些使用 Win32 和 JNI 的东西,但我不明白如何使用它。有谁知道java挥杆相当于这个方法吗?

感谢评论中的 link 和其他一些研究,我设法找到了与 C# 中的句柄 属性 等效的东西。这是我对面临同样问题的任何人所做的:

    import javax.swing.*;

    import com.sun.jna.Native;
    import com.sun.jna.Pointer;
    import com.sun.jna.platform.win32.WinDef.HWND;

    public class main {
       public static void main(String[] args) {
           JFrame jFrame = new JFrame();
           final HWND hwnd = new HWND(Native.getComponentPointer(jFrame));
           System.out.println(hwnd);
       }
    }

请注意,这仅适用于 windows 台机器,因为只有 windows 具有一切都是 window 的概念,并且每个 window 都有一个句柄。